Sparklyr 使用 case_when 和变量
Posted
技术标签:
【中文标题】Sparklyr 使用 case_when 和变量【英文标题】:Sparklyr using case_when with variables 【发布时间】:2018-03-22 11:46:03 【问题描述】:将case_when
与外部变量一起使用时,Sparklyr 失败。
工作示例:
test <- copy_to(sc, tibble(column = c(1,2,3,4)))
test %>%
mutate(group = case_when(
column %in% c(1,2) ~ 'group 1',
column %in% c(3,4) ~ 'group 2'))
Error: Can't extract an environment from NULL
失败
test <- copy_to(sc, tibble(column = c(1,2,3,4)))
group1_cols <- c(1,2)
group2_cols <- c(3,4)
test %>%
mutate(group = case_when(
column %in% group1_cols ~ 'group 1',
column %in% group2_cols ~ 'group 2'))
【问题讨论】:
【参考方案1】:尝试取消引用变量:
test %>%
mutate(group = case_when(
column %in% !!group1_cols ~ 'group 1',
column %in% !!group2_cols ~ 'group 2'))
有关更多信息,请查看dplyr
编程小插图http://dplyr.tidyverse.org/articles/programming.html
【讨论】:
以上是关于Sparklyr 使用 case_when 和变量的主要内容,如果未能解决你的问题,请参考以下文章
在循环中使用 Mutate 和 Case_when 时的问题