【问题标题】:Dplyr rename unquoting [duplicate]Dplyr重命名取消引用[重复]
【发布时间】:2017-08-17 07:56:15
【问题描述】:

我正在尝试重命名数据框中的变量,但无法使取消引用部分起作用。我已经阅读了http://dplyr.tidyverse.org/articles/programming.html 并查看了不同的示例,但不幸的是无法以某种方式弄清楚。这是我目前正在使用的,我想将列“x”重命名为“x2”(都是变量):

df = data.frame(x = c(1,2,3), y = c(2,3,4))
variable_to_rename = "x"
new_variable_name = "x2"
df %>%
  rename_vars(names(.), !! variable_to_rename = !! new_variable_name)

所需的输出是数据框:

data.frame(x2 = c(1,2,3), y = c(2,3,4))

正如我刚刚评论的那样: 我找到了以下工作代码:

df %>%
  rename(!!new_variable_name := !!rlang::sym(variable_to_rename))

【问题讨论】:

  • 抱歉,已经找到答案了:df %>% rename(!!new_variable_name := !!rlang::sym(variable_to_rename))
  • 另请参阅此答案stackoverflow.com/a/44452676/3926543 和第一条评论。希望对您有所帮助。

标签: r dplyr


【解决方案1】:

你可以只使用名字吗? names(df)[1] <- "x2"

【讨论】:

    【解决方案2】:

    重命名单个列的最简单方法是建议here。但是如果你想使用dplyr::rename(),那么请看下面的答案。


    rename() 函数的用法如下所示。

    df <- rename(df, x2 = x)
    df
    #  x2 y
    #1  1 2
    #2  2 3
    #3  3 4
    

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 2018-02-27
      • 2016-11-02
      • 1970-01-01
      • 2021-10-30
      • 2017-06-10
      • 2016-08-07
      • 1970-01-01
      • 2016-10-02
      相关资源
      最近更新 更多