在dplyr::mutate调用中,dplyr::case_when似乎不像其他命令那样工作。例如:
library(dplyr)
case_when(mtcars$carb <= 2 ~ "low",
mtcars$carb > 2 ~ "high") %>%
table作品:
.
high low
15 17 但是把case_when放在mutate链中:
mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high"))然后你会得到:
Error: object 'carb' not found虽然这样做没什么问题
mtcars %>%
mutate(cg = carb %>%
cut(c(0, 2, 8)))发布于 2017-07-06 00:23:39
从dplyr的0.7.0版本开始,case_when在mutate中的工作方式如下:
library(dplyr) # >= 0.7.0
mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high"))欲了解更多信息,请访问:http://dplyr.tidyverse.org/reference/case_when.html
发布于 2016-07-29 10:30:51
我们可以使用.$
mtcars %>%
mutate(cg = case_when(.$carb <= 2 ~ "low", .$carb > 2 ~ "high")) %>%
.$cg %>%
table()
# high low
# 15 17 发布于 2018-10-19 02:59:47
library(dplyr) #loading the dplyr package
content150_fortified <- content150 %>% #creating a new variable
mutate(number_yn = case_when( #creating a new column using mutate
number >= 18 & number <=25 ~ "no", # if number is "none", make number_yn "no"
number!="none" ~ "yes" # if number is not "none", make number_yn "yes"
)
)https://stackoverflow.com/questions/38649533
复制相似问题