首页 > 解决方案 > 我会用什么来代替 tidyverse 中的括号?

问题描述

我有一个看起来像这样的数据框:

names <- c("Lucy", "Sally", "Harry", "Betsy")
values <- c(1, 2, 3, 4)
df <- data.frame(names, values)

如果值为 1 或 2,我想创建另一个值为 Low 的列,如果值为 3 或 4,则为 High。我可以在 base R 中这样做

df$var[df$values == 1 | df$values == 2] = "Low"
df$var[df$values == 3 | df$values == 4] = "High"

但是我如何在 tidyverse 中做到这一点?我试过使用管道和过滤器,但到目前为止还没有奏效。

标签: rdplyr

解决方案


df %>%
  mutate(category = ifelse(values < 3, "Low", "High"))
 

推荐阅读