[英]How to create a data.frame from expression?
I want to create a data frame from an expression saved into an object.我想从保存到 object 中的表达式创建一个数据框。
Whereas this works:而这有效:
library(dplyr)
regular_chr_vec <- c(a = "lion", b = "zebra")
bind_rows(regular_chr_vec)
## a b
## <chr> <chr>
## 1 lion zebra
This doesn't:这不会:
library(rlang)
as_expression_vec <- parse_expr("c(a = \"lion\", b = \"zebra\")")
bind_rows(!!!as_expression_vec)
Error: Argument 1 must be a data frame or a named atomic vector.错误:参数 1 必须是数据帧或命名的原子向量。
Nor this:也不是这个:
as_expression_vec <- parse_expr("c(a = \"lion\", b = \"zebra\")")
bind_rows(!!as_expression_vec)
Error: Can't use
!!
错误:无法使用!!
in a non-quoting function在非引用 function
So my question is: How can I create a dataframe if I'm just handed with as_expression_vec
?所以我的问题是:如果我刚刚收到 as_expression_vec ,如何创建as_expression_vec
?
## a b
## <chr> <chr>
## 1 lion zebra
I intentionally kept the question minimal and with no context to not distract the point.我故意将问题保持在最小限度,并且没有上下文以免分散注意力。 Thanks!谢谢!
Here is one solution这是一种解决方案
library(rland)
library(dplyr)
as_expression_vec <- parse_expr("c(a = \"lion\", b = \"zebra\")")
bind_rows(eval(as_expression_vec))
# A tibble: 1 x 2
a b
<chr> <chr>
1 lion zebra
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.