r - dplyr::bind_rows(...) 与 do.call(rbind, ...) 的符号列表
问题描述
假设我有以下数据框和名称的字符向量:
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
如果有人能说出为什么会发生这种情况,将不胜感激。
解决方案
我们可以使用mget
返回 a 中的数据集list
,然后执行bind_rows
library(dplyr)
mget(nms) %>%
bind_rows
# val
#1 1
#2 2
推荐阅读
- sql - 在 PostgreSQL IF / THEN 语句中使用 DELETE FROM...RETURNING
- php - PhpStorm 或 localhost 中的结帐后 + Docker
- r - R - 结转 1 直到达到另一个 1
- sql-server - 包括每个客户的 companyID 并将其链接到其他表 SQL
- c++ - 模拟队列的链表堆栈不起作用
- android-studio - 我在使用 AndroidStudio 的“构建文件夹下的文件”中遇到错误
- c - C语言中的霍夫变换有问题
- for-loop - 根据标题对社交媒体帖子进行分类
- php - WordPress:按块分别获取父子类别
- amazon-web-services - 将日志从 AWS Cloudwatch 日志组发送到 Opendistro EFK