首页 > 解决方案 > case_when( ) 函数中的参数 TRUE 有什么作用?

问题描述

我正在学习 R,我想知道 TRUE ~ "Other" 在这种代码中做了什么?

gapminder <- gapminder %>% 
  mutate(group = case_when(
    .$region %in% west ~ "West"  # assign the factor "West" for countries with region = west
    .$region %in% c("Eastern Asia", "South-Eastern Asia") ~ "East Asia"
    .$region %in% c("Carribbean", "Central America", "South America") ~  "Latin America"
    .$continent == "Africa" & .$region != "Northern Africa" ~ "Sub-Saharan Africa",
    TRUE ~ "Other"))

标签: r

解决方案


当您想要创建一个依赖于现有复杂组合的新变量时,Case_when 在 mutate 中特别有用

https://dplyr.tidyverse.org/reference/case_when.html

TRUE 指定不满足其他条件时的默认值。因此,在您的示例中,当区域不属于以下区域时:

  • 西方
  • 东亚
  • 东南亚
  • 加勒比海
  • 中美洲
  • 南美洲

或者当大陆是“非洲”而地区不是“非洲北部”时。我会在这里特别注意,因为它看起来您正在创建一个名为 region 的新变量,但您已经将“Northern Africa”作为预定义区域但未在代码中预定义

那么其他任何东西都将在区域列下归类为“其他”。


推荐阅读