R dplyr过滤器空间/列名称中的特殊字符

时间:2019-01-30 00:03:47

标签: r filter dplyr space

require(dplyr)
sampleDF <- data.frame("Column A" = c(1,2,3))
sampleDF %>%
  dplyr::filter(
    `Column A` > 2
  )

我应该如何修复上面的代码才能使其正常工作?我不想更改名称。

1 个答案:

答案 0 :(得分:1)

dplyr可能不是问题,因为通常在变量名中只允许使用点和下划线,但不能使用空格。如果您想在所有情况下都使用加引号的名称,则可能:

require(dplyr)
require(rlang)
sampleDF <- data.frame("Column A" = c(1,2,3))
sampleDF %>%
  dplyr::filter(
    eval_tidy(quo("Column A")) > 2 # OR: eval(quote("Column A")) > 2
  )