假设我具有以下数据框和名称的字符向量:
x <- data.frame(val = 1)
y <- data.frame(val = 2)
nms <- c("x", "y")
我想简单地将数据帧行绑定在一起。我可以使用do.call
和rbind
来完成此任务,
library(dplyr)
do.call(rbind, syms(nms))
# val
#1 1
#2 2
但是,如果我尝试dplyr::bind_rows
,则会收到一个奇怪的错误,告诉我参数1必须是数据帧事件,尽管它是数据帧:
bind_rows(syms(nms))
#Error: Argument 1 must be a data frame or a named atomic vector, not a data.frame
如果有人能告诉我们为什么会发生这种情况,将不胜感激。
答案 0 :(得分:1)
我们可以使用mget
返回list
中的数据集,然后执行bind_rows
library(dplyr)
mget(nms) %>%
bind_rows
# val
#1 1
#2 2