我有一个数据框列表:
set.seed(23)
date_list = seq(1:30)
testframe = data.frame(Date = date_list)
testframe$ABC = rnorm(30)
testframe$DEF = rnorm(30)
testframe$GHI = seq(from = 10, to = 25, length.out = 30)
testframe$JKL = seq(from = 5, to = 45, length.out = 30)
testlist = list(testframe, testframe, testframe)
names(testlist) = c("df1464", "df6355", "df94566")
我现在想提取每个数据框的名称并将其添加到其列中。所以列表中第一个数据框的列名应该是:Date_df1464, ABC_df1464, DEF_df1464, GHI_df1464 and JKL_df1464
我创建了这个循环,但它不起作用:
for (a in names(testlist)) {
for(i in 1: length(testlist)){
allcolnames = colnames(testlist[[i]])
allcolnames = paste(allcolnames, a , sep = "_")
testlist[[i]] = colnames(allcolnames)
}
}
我收到此错误:
Error in testlist[[i]] : subscript out of bounds
我很不知道为什么它不起作用。有任何想法吗?