【发布时间】:2019-08-19 13:38:58
【问题描述】:
我有多个 .csv 文件(mydata_1、mydata_2、...),它们具有相同数量的列和列名(如果有助于找到答案,则行长不同)。在将它们读入我的环境后,他们就有了 data.frame 类。我将它们全部放在 list 中,现在想按名称从所有这些列中 select 特定列,导致只有选定的列具有相同的变量名称。
mydata_1 = matrix(c(1:21), nrow=3, ncol=7,byrow = TRUE)
mydata_2 = matrix(c(1:21), nrow=3, ncol=7,byrow = TRUE)
colnames(mydata_1) = c(paste0("X","1":"7"))
colnames(mydata_2) = c(paste0("X","1":"7"))
df1 = as.data.frame(mydata_1)
df2 = as.data.frame(mydata_2)
all_data = c(df1, df2)
class(all_data)
class(df1)
for (i in all_data){
i = select(i,"X3":"X5")
}
我的for 命令将输出 data.frames df1 和 df2,只有三列(而不是之前的七列),但是在运行代码时会出现关于 select 命令的错误消息。
UseMethod("select_") 中的错误: 'select_' 没有适用的方法应用于类“c('integer','numeric')”的对象
如何获得新的dfs 的工作输出?
【问题讨论】:
-
select不是基本 R 函数。根据r标签(悬停查看):使用library()调用指定所有非基础包。
标签: r dataframe for-loop select