我使用cbind循环来重命名列。每次我尝试使用循环索引(i)命名列时,它都不使用索引,而是将i作为列名。我希望它显示原始的实际名称
x <- seq(0, 50, by = 1)
y <- seq(50, 100, by = 1)
z <- seq(25, 75, by = 1)
df <- data.frame(cbind(x, y, z))
df_final <- NULL
for (i in colnames(df)){
#PROBLEM: Column names becomes i instead of the actual column names
df_final <- cbind(df_final, i = df[,i])
}
df_final
1条答案
按热度按时间soat7uwm1#
一个简单的解决方案是在循环中设置 colname,如下所示:
为了使用
x[[i]] <- value
方法,x需要有行:否则将创建一个列表:
当使用
sapply
而不是for
完成循环时,解为:或者简单地子集化: