问题描述
我尝试复制数据框中的一列。接下来我尝试重命名下面代码中的列名,虽然我没有成功。
library(dplyr)
d <- data.frame(red=1:3,green=4:6,yellow=7:9)
for (q in 1:3) {
d$color <- select(d,q)
colnames(d)[4] <- "newcolor"
}
首先我尝试使用 d$newcolor 更改名称,但没有成功。 接下来我尝试使用也不成功的 colnames。虽然这在前 3 列上运行良好。
我需要一个通过数字识别列的解决方案,因为我需要它作为循环的一部分。 (我实际上尝试使用不同的源列填充每个循环的第 4 列)
非常感谢!
解决方法
试试这个:使用 dplyr 包
library(dplyr)
d <- data.frame(red=1:3,green=4:6,yellow=7:9)
d%>%mutate(newcolor=yellow)
没有dplyr
d <- data.frame(red=1:3,yellow=7:9)
d$somename<-d$yellow
colnames(d)[4]<-"newcolor"
据我所知,dplyr 有自己的语法。我们不能总是将它与基础 R 结合起来。