将名称应用于数据框列变量

时间:2014-08-27 09:32:12

标签: r

我有一个包含563列的数据框,我希望使用长度为561的字符向量(Cnames)更改除前2列之外的所有列变量的名称。我尝试使用:

colnames(df[,3:563]) <- Cnames

但这里没有任何事情发生。但是,如果我尝试按如下所示更改所有列变量的名称,则重命名工作:

CoName <- c("char0", "char01", Cnames)
colnames(df) <- CoName

有人能告诉我为什么会这样吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

你可以做到

colnames(df)[3:563] <- Cnames

哪个会奏效。

我不熟悉R内存模型,但我怀疑对colnames(df[,3:563])的调用会返回一个与原始数据帧无关的新临时对象。另一方面,colnames(df)将允许您直接更新数据框中的引用。