我正在处理一个包含大约 9000 个观察值的数据集。其中一列包含种族,大多数观察结果将种族列为“白人”、“黑人”、“西班牙裔”等。但是,也有一些观察结果具有多个种族。我在下面附上了所有比赛的图片。
我想用“混合”代替“黑人,西班牙裔”,“白人,黑人”等。我该怎么做?
mutate()
和 case_when()
可以提供帮助。请看这个简单的演示:
tibble(
nz_race_group = c(
# Default groups:
"European",
"Māori",
"Pacific Peoples",
"Asian",
"Middle Eastern/Latin American/African",
"Other Ethnicity",
# Mixed groups:
"A + B",
"A + B + C",
"B + D")) |>
mutate(
nz_race_group = case_when(
nz_race_group %in% c("European",
"Māori",
"Pacific Peoples",
"Asian",
"Middle Eastern/Latin American/African",
"Other Ethnicity") ~ nz_race_group,
TRUE ~ "Mixed")
)
结果变成:
# A tibble: 9 × 1
nz_race_group
<chr>
1 European
2 Māori
3 Pacific Peoples
4 Asian
5 Middle Eastern/Latin American/African
6 Other Ethnicity
7 Mixed
8 Mixed
9 Mixed
在此示例中,
case_when()
保留默认组,仅将混合组更改为Mixed
。希望对您有帮助。