r - 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"))
解决方案
当您想要创建一个依赖于现有复杂组合的新变量时,Case_when 在 mutate 中特别有用
https://dplyr.tidyverse.org/reference/case_when.html
TRUE 指定不满足其他条件时的默认值。因此,在您的示例中,当区域不属于以下区域时:
- 西方
- 东亚
- 东南亚
- 加勒比海
- 中美洲
- 南美洲
或者当大陆是“非洲”而地区不是“非洲北部”时。我会在这里特别注意,因为它看起来您正在创建一个名为 region 的新变量,但您已经将“Northern Africa”作为预定义区域但未在代码中预定义
那么其他任何东西都将在区域列下归类为“其他”。
推荐阅读
- python-3.x - PySpark 用户定义函数 (UDF) 以创建新列
- javascript - 未捕获的类型错误读取 null 的属性(读取“值”)
- angular - 如何将onedrive与角度集成?
- flutter - 内存泄漏问题/应用程序崩溃 - Flutter 中的 StreamBuilder > StreamBuilder > GridView.builder
- c# - 在 C# 中创建 .zip 并在其中添加 xml 文件
- bash - awk 输出不匹配的行
- spring-boot - 以大写开头的列排序不适用于 findAll 方法
- python - 自动合并大量数据帧
- python - 在 Python 的 seaborn 中重新排序堆叠的 histplot
- python - sqlite3.OperationalError:靠近“:59”:语法错误