【发布时间】:2020-07-06 18:51:28
【问题描述】:
我有三个数据帧 EC_Data、ED_Data 和 ST_data 它们都具有相同的列名,更具体地说,在第 4 列之后 从 2006 年到 2015 年有年份命名的列
所以我创建了一个包含所有三个数据框的新列表:
Alldata = list(EC_Data, ED_Data, ST_Data)
所以我尝试重命名 for 循环中的所有列,如下所示...
for(x in seq_along(Alldata))
{
for(j in seq_along(Alldata[[x]]))
{
if(j>4)
{
names(colnames(Alldata[[x]][j])) <- paste("X", substr(colnames(Alldata[[x]][j]), start = 1, stop = 5),sep="")
print(colnames(Alldata[[x]][j]))
}
}
}
但是什么都没发生……
我不明白为什么,因为当我尝试调用每个列表的名称时,例如使用
view(colnames(Alldata[[2]]))
这些名字似乎正是我想看到的
谁能帮我理解这个循环不起作用的原因以及我可以用什么来代替它?
谢谢
【问题讨论】:
-
你不需要
names(colnames(...))只是colnames(...)工作吗? -
我做的第一件事是...只是列名,但结果是一样的。
标签: r loops dataframe multiple-columns