我有一個包含1005個變量稱爲VarChange的數據幀,例如:řcolnames:一點字符變量名稱變更爲數字
row.name SamplingEvent Year Zenaida_macroura . . . 1005 variables
1 12367 S41 2005 0
2 12369 S42 2005 X
3 12370 S43 2005 4
4 OldSppName SamplingEvent Year Zenaida_macroura
5 NewSppName SampEvent Year Zenamacr
我的目標是改變數據幀的列名稱爲行「NewSppName」(當前變量名的最大8個字母代碼)。這是爲了不鬆散跟蹤ArcMap中的各種變量(將所有變量名稱截斷爲8個字符)。
每一件事情看起來很不錯(即,R輸出相應NewSppNames)時,我問:
Var['NewSppName',]
但是當我使用:
colnames(VarChange) <- VarChange['NewSppName', ]
或
colnames(VarChange) <- as.character(VarChange["NewSppName",])
我得到以下輸出:
row.names 7 Year 8 . . . 1005 variables
1 12367 S41 2005 0
2 12369 S42 2005 X
3 12370 S43 2005 4
4 OldSppName SamplingEvent Year Zenaida_macroura
5 NewSppName SampEvent Year Zenamacr
95%的變量確實將名稱更改爲NewSppName中的值,但十幾個更改爲數字而不是NewSppName中存在的字符名稱。
任何原因爲什麼?任何解決方案?
歡迎的StackOverflow!你能用'dput'提供一個可重複的例子,也許只是一個數據樣本? (我們無法確定每列的數據類型是什麼) –
新列名稱是否真的是原始數據中的一行?這看起來很奇怪,因爲這會迫使所有變量成爲「字符」或「因子」? – mnel
請注意,「SampEvent」有九個字符。 – flodel