【问题标题】:How to explicitly specify that a name refers to a variable, rather than a column name, in dplyr?如何在 dplyr 中明确指定名称引用变量而不是列名?
【发布时间】:2022-08-19 22:42:38
【问题描述】:

我有以下代码块:

gap <- 1000  

HCE <- HCE %>%
   dplyr::mutate(ordered = gap * (as.numeric(outcome) - 1) + original)

我想在 mutate 指令中消除歧义,该间隙指的是变量,而不是“间隙”列。我该怎么做?

  • 变量是指封闭环境中的对象?然后使用.env$gap。或者,我们可以使用get() 并在.envir 参数中指定环境。

标签: r dplyr


【解决方案1】:

.data.env 代词明确了在使用数据屏蔽函数进行编程时在哪里可以找到对象。

HCE %>%
  mutate(ordered = .env$gap * (as.numeric(outcome) - 1) + original)

或者使用注入运算符!!

HCE %>%
  mutate(ordered = !!gap * (as.numeric(outcome) - 1) + original)

【讨论】:

  • 注射操作员?
猜你喜欢
  • 2013-04-17
  • 2020-10-16
  • 1970-01-01
  • 2021-09-21
  • 2015-12-13
  • 2022-11-02
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多