dplyr::case_when似乎不像dplyr::mutate调用中的其他命令.例如:

library(dplyr)

case_when(mtcars$carb <= 2 ~ "low",
          mtcars$carb > 2 ~ "high") %>% 
  table

作品:

.
high  low 
  15   17 

但在mutate链中放入case_when:

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)))

推荐答案

dplyr的第0.7.0版开始,case_whenmutate范围内工作如下:

library(dplyr) # >= 0.7.0
mtcars %>% 
  mutate(cg = case_when(carb <= 2 ~ "low",
                        carb > 2  ~ "high"))

更多信息:http://dplyr.tidyverse.org/reference/case_when.html

R相关问答推荐

生成具有受控相关性的x和y

强制相关图以显示相关矩阵图中的尾随零

如何在热图中绘制一个图形,但在每个单元格中通过饼形图显示?

管道末端运行功能

R等效于LABpascal(n,1)不同的列符号

编辑文件后编辑RhandsonTable

过滤器数据.基于两列的帧行和R中的外部向量

在使用ggroove后,将图例合并在gplot中

使用case_match()和char数组重新编码值

如何动态更新selectizeInput?

如果第一个列表中的元素等于第二个列表的元素,则替换为第三个列表的元素

如何得到R中唯一的组合群?

在GGPLATE中将突出的点放在前面

合并后返回列表的数据帧列表

您是否可以使用facet_rap设置一个较低的限制来对ggmap上的比例中断进行zoom ?

通过R:文件名未正确写入[已解决]将.nc文件转换和导出为.tif文件

如何在内联代码中添加额外的空格(R Markdown)

如何在Quarto中使用美人鱼图表中的标记来加粗文本

如何使用grepl()在数据帧列表中 Select 特定字符串?

如何获取R chromote中的当前URL?