R 行绑定一组数据集?

R 行绑定一组数据集?,r,dataframe,dataset,bind,R,Dataframe,Dataset,Bind,我已经读入了一个数据集列表,称之为n。我想做的是从n中获取数据集的子集,并在R中将它们绑定在一起。当我尝试转到rbind(n)时,这只会给出所有数据集名称的数据帧,而不是实际将每个数据集的元素放在彼此下面。我要做的是绑定共享公共名称的数据集子集。例如,其中18个数据集以“4”开头,我想将所有这些数据绑定在一起。有没有一个简单的方法可以做到这一点?你想做的是rbind(n[[1]],n[[2]],…)这与rbind(n)不同 您不需要写出来,您可以使用do.call创建并执行此call do.c

我已经读入了一个数据集列表,称之为n。我想做的是从n中获取数据集的子集,并在R中将它们绑定在一起。当我尝试转到
rbind(n)
时,这只会给出所有数据集名称的数据帧,而不是实际将每个数据集的元素放在彼此下面。我要做的是绑定共享公共名称的数据集子集。例如,其中18个数据集以“4”开头,我想将所有这些数据绑定在一起。有没有一个简单的方法可以做到这一点?

你想做的是
rbind(n[[1]],n[[2]],…)
这与
rbind(n)
不同

您不需要写出来,您可以使用
do.call
创建并执行此
call

 do.call(rbind, n)
它将运行所需的命令。然而,这是

您可以使用
data.table
包中的
rbindlist
更快地完成同样的事情

 library(data.table)

 rbindlist(n)
如果您只需要名称以
4

rbindlist(n[grep(names(n), pattern = '^4')])

如果您试图聚合许多文件,则可能需要plyr包中的
rbind.fill
函数(我不知道是否有与data.table等效的函数)


我太棒了,谢谢你,这正是我想要的!现在,我如何才能对一个子集执行此操作,比如包含“4”的文件。它们的名称位于n中的某个位置,而不必实际查看这些文件属于列表中的哪些数字?@user1836894这些是列表中元素的名称吗?是的。我有一个文件列表,这些是属于文件子集的名称。@user1836894添加了一种方法,如果不合适,请告诉我。+1@mnel可能会将模式从数字更改为有效的文件名!文件名以4开头看起来很奇怪。您可以给出名称列表
n[filted.names]
。我不知道rbind.fill的等价物,但我实现了一些东西
ll <- list(a=data.frame(x=1,y=2,z=1),
         b= data.frame(x=2,y=3),
         c=data.frame(x=3:4,y=5))

library(plyr)
Reduce(rbind.fill,ll[c('a','b')])   ## subset by list names and 
                                    ## apply recursively using Reduce
  x y  z
1 1 2  1
2 2 3 NA