小编Cas*_*sey的帖子

当多个变量的条件相同时简化 case_when()

假设我想根据多个其他变量中的条件创建一个新变量,并且每个变量的条件都是相同的。我知道我可以使用 case_when(),但我很好奇如果每个条件变量的条件短语都相同,是否可以简化此操作。我还想知道这是否可以轻松复制以创建多个变量。

\n

示例:教师有 3 名学生,他们获得了 3 次测试和 3 次测验的成绩。他想要创建一个变量来表示学生是否在任何测试或测验中得分低于 70。所以他将创建两个新变量,如下所示:

\n
\nID <- c("Dave", "Joe", "Steve")\nexam1 <- c(80, 100, 90)\nexam2 <- c(30, 90, 88)\nexam3 <- c(90, 65, 95)\nquiz1 <- c(90, 90, 20)\nquiz2 <- c(33, 100, 100)\nquiz3 <- c(90, 90, 50)\n\ndata <- tibble(ID, exam1, exam2, exam3, quiz1, quiz2, quiz3)\n\ndata <- data %>% \n  mutate(\n    fail_exam = case_when(\n      exam1 < 70 ~ 1,\n      exam2 < 70 ~ 1,\n      exam3 < 70 ~ 1,\n      T ~ 0\n    ),\n    fail_quiz = case_when(\n      quiz1 …
Run Code Online (Sandbox Code Playgroud)

r tidyverse

3
推荐指数
1
解决办法
196
查看次数

标签 统计

r ×1

tidyverse ×1