【发布时间】:2021-12-08 05:39:14
【问题描述】:
我正在尝试使用一个简单的函数对列表的每个数据框的列执行操作。 这是数据:
a<-LETTERS[1:6]
b<-1:6
df1<-as.data.frame(cbind(a,b))
df2<-as.data.frame(cbind(a,b))
df3<-as.data.frame(cbind(a,b))
df_list<-list(df1,df2,df3)
这些是我想用来重命名列表中数据框的名称:
df_names<-c("first","second","third")
到目前为止,我已经做到了:
df2_list <- lapply(df_list, function(df_list) {
for(i in df_list[[i]]$b) {
df_double<-list((as.numeric(df_list[[i]]$b))*(2))
names(df_double)<-df_names[i]
}
df_list
} )
这给了我这个错误:
Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'
但是,如果我尝试分别运行这两个命令,例如在列表的第一个数据帧上,它们会执行我想要的操作:
df_double<-list((as.numeric(df_list[[1]]$b))*(2))
names(df_double)<-df_names[1]
我知道我遗漏了一些东西,但我看不到什么...提前致谢!
【问题讨论】: