case_when 在 mutate 管道中 [英] case_when in mutate pipe
本文介绍了case_when 在 mutate 管道中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
似乎 dplyr::case_when
的行为与 dplyr::mutate
调用中的其他命令不同.例如:
库(dplyr)case_when(mtcars$carb <= 2 ~ "low",mtcars$carb>2~高")%>%桌子
作品:
<预><代码>.前高后低15 17但是把 case_when
放在一个 mutate
链中:
mtcars %>%变异(cg = case_when(carb <= 2 ~低",碳水化合物 >2~高"))
你会得到:
错误:找不到对象carb"
虽然这工作正常
mtcars %>%变异(cg = 碳水化合物 %>%切(c(0、2、8)))
解决方案
从 dplyr
的 0.7.0
版本开始,case_when
适用于mutate
如下:
library(dplyr) # >= 0.7.0mtcars %>%变异(cg = case_when(carb <= 2 ~低",碳水化合物 >2~高"))
更多信息:http://dplyr.tidyverse.org/reference/case_when.html
It seems dplyr::case_when
doesn't behave as other commands in a dplyr::mutate
call. For instance:
library(dplyr)
case_when(mtcars$carb <= 2 ~ "low",
mtcars$carb > 2 ~ "high") %>%
table
works:
.
high low
15 17
But put case_when
in a mutate
chain:
mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high"))
and you get:
Error: object 'carb' not found
while this works fine
mtcars %>%
mutate(cg = carb %>%
cut(c(0, 2, 8)))
解决方案
As of version 0.7.0
of dplyr
, case_when
works within mutate
as follows:
library(dplyr) # >= 0.7.0
mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high"))
For more information: http://dplyr.tidyverse.org/reference/case_when.html
这篇关于case_when 在 mutate 管道中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文