首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么‘`rlang::符号’和`rlang::quo_name`在LHS中的表现类似?

为什么‘`rlang::符号’和`rlang::quo_name`在LHS中的表现类似?
EN

Stack Overflow用户
提问于 2017-08-26 15:17:46
回答 1查看 554关注 0票数 2

使用foo(c("b"))调用下面的函数。输出以内联方式显示。

我不明白为什么(1) df %>% mutate(!!x_ := 100 + !!x))和(2) df %>% mutate(!!x := 100 + !!x))都一样工作;基于dplyr程序设计方法 (1)应该工作。

代码语言:javascript
复制
foo <- function(variables) {

  x <- rlang::sym(variables[[1]])

  x_ <- quo_name(x)

  print(x)
  #> b

  print(typeof(x))
  #> [1] "symbol"

  print(x_)
  #> [1] "b"

  print(typeof(x_))
  #> [1] "character"

  df <- data_frame(a = 1, b = 2)

  print(df %>% mutate(!!x_ := 100 + !!x))

  #> # A tibble: 1 x 2
  #>         a     b
  #>       <dbl> <dbl>
  #>   1     1   102  

  print(df %>% mutate(!!x := 100 + !!x))

  #> # A tibble: 1 x 2
  #>         a     b
  #>       <dbl> <dbl>
  #>   1     1   102  

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-26 23:33:27

感人的评论来回答。

正如您在文档中提到的,您指的是:

LHS上的规则略有不同:未引号的操作数应该计算为字符串或符号

在这里,它的工作是因为x_实际上是一个字符。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45896897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档