【问题标题】:select_ in dplyr returns exceptiondplyr 中的 select_ 返回异常
【发布时间】:2018-06-17 17:12:58
【问题描述】:

我面临以下异常:

library(tidyverse)
library(dplyr)
library(rlang)

data(mtcars)

select_expr = "mpg , cyl"

mtcars %>% select_(select_expr)

Error in parse(text = x): <text>:1:5: unexpected ','
1: mpg ,
        ^

我做错了什么?

【问题讨论】:

  • dplyr 的 *_ 函数正在慢慢被弃用 in favor of rlang。上面的等价物可能是select_expr &lt;- c("mpg", "cyl"); mtcars %&gt;% select(!!!syms(select_expr)),但在这种情况下,您也可以使用 tidyselect 助手:mtcars %&gt;% select(one_of(select_expr))
  • 在一个字符串中存储多个名称并不是一个好主意,因为它不容易转换回可运行的代码。名称向量(无论是字符串、表达式、引号还是其他)更易于使用。

标签: r select dplyr tidyverse rlang


【解决方案1】:

你也犯了一个我经常犯的错误,只是在字符串中添加了 2 个提取重音

library(tidyverse)
library(dplyr)
library(rlang)

data(mtcars)

select_expr = c("mpg" , "cyl")

mtcars %>% select(select_expr)

【讨论】:

  • 它只打印'mpg'
猜你喜欢
  • 2018-10-09
  • 2018-01-03
  • 2015-04-15
  • 2020-01-31
  • 2010-10-05
  • 1970-01-01
  • 2022-07-07
  • 2015-05-05
  • 1970-01-01
相关资源
最近更新 更多