我大约有100个具有相同结构的数据帧,例如d1
,d2
,d3
,...,d10
,d11
,... ,d100
。我必须rbind
一起rbind(d1,d2,.....dxx)
。
我不想手动写入所有数据框名称,因为在这种情况下,我已经手动写入了100个以上的数据框名称,以后这个数字可能会增加。您能帮忙写一种自动访问rbind(d1,d2,d3,...,d10, d11,.....,d100,....)
的方法吗?
答案 0 :(得分:2)
首先为要绑定的所有对象创建一个字符向量,例如:
NameDf <- paste("d", 1:100, sep = "")
现在,首先使用get
函数调用每个对象,然后使用do.call
将它们绑定在一起
NewDf <- do.call(cbind, lapply(NamesDf, FUN = function(x) get(x)))
答案 1 :(得分:2)
我们可以使用mget
返回值list
out <- do.call(rbind, mget(paste0("d", 1:100)))
答案 2 :(得分:0)
基于akrun的简洁答案(使用mget()
),但是使用dplyr
的高效bind
实现来避免do.call()
:
library(dplyr)
mget(paste0("d",1:100)) %>% bind_rows()
答案 3 :(得分:-1)
示例-根据我的工作:
filename_vector <- paste0(i, sep="_", df$unique.label.within.df,
sep="", "intended.filename.csv")