我有一个名为 VarChange 的数据框,其中包含 1005 个变量,例如:
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 中存在的字符名称。
有什么理由吗?有什么解决办法吗?