将名称粘贴到 R 中的列中

Paste names into columns in R

非常愚蠢的问题,但我找不到好的解决方案。 假设我有一个这样的数据框:

dframe <- cbind.data.frame(V1=rnorm(10,0,1), V2=rnorm(10,0,1))
dframe

使用以下代码,我可以将新词粘贴到列名称中:

names(dframe) <- paste("r_", names(dframe), sep="")

但是如果我只想将名称更改为一个特定的列怎么办?为什么下面的代码不起作用? (实际上代码的右侧确实有效,但没有分配新名称)

names(dframe[1]) <- paste("r_", names(dframe[1]), sep="")

在我的真实数据中,我有一堆列,我需要对其中一些列执行此操作 - 仍然太多,无法一一更改名称。

以下作品:

dframe <- data.frame(V1 = rnorm(10, 0, 1), V2 = rnorm(10, 0, 1))
names(dframe)[1] <- paste("r_", names(dframe[1]), sep = "")
head(dframe, 2)
        r_V1          V2
1 -0.5518091 -0.05065393
2  1.5083914  1.24679703

(您可以使用 data.frame() 而不是 cbind.data.frame()。)