【问题标题】:How to use dynamic column inside of bquote如何在 bquote 中使用动态列
【发布时间】:2021-01-16 02:38:55
【问题描述】:
a <- "t"
bquote(data.frame(.(a) = 1:10)
Error: unexpected '=' in "bquote(data.frame(.(a) ="

a 需要是动态的。这如何实现?

【问题讨论】:

  • 您接受这么少的问题答案有什么原因吗?
  • 有时我会忘记。 stackoverflow 的多余特性和功能对我来说不是优先事项。但大多数时候,答案并没有解决我的问题。

标签: r metaprogramming non-standard-evaluation


【解决方案1】:

您不能为此使用bquote。解决这个问题的最简单方法就是使用setNames()

a <- "t"
setNames(data.frame(1:10), a))

您也可以构建data.frame 调用,然后使用do.call,但您仍然必须使用setNames() 设置参数名称

do.call("data.frame", setNames(list(1:10), a))

但如果您使用tidyverse 包,您可以使用:=tibble 调用中动态设置名称

tibble(!!a := 1:10)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-01
    • 2014-12-13
    • 2021-03-02
    • 2019-01-30
    • 1970-01-01
    • 2022-01-27
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多