处理 R 中许多响应包含多个类别的分类数据的最佳方法是什么?
What is the best way to deal with categorical data in R where many response includes multiple categories?
我正在处理一个数据集,其中受访者通过在 R 中选择一个或多个种族类别来表明他们的种族。在我的数据集中,类别记录如下:1 = 亚洲人,2 = 阿拉伯人,3 = 黑人, 4 = 拉丁裔,5 = 美洲原住民,6 = 太平洋岛民/夏威夷原住民,7 = 白人,8 = 其他,9 = 不想回答。许多受访者指出了多个类别。例如:
race <- c('1', '2', '5', '1,5')
我正在尝试使用 dplyr 的重新编码功能将数字更改为每个种族的实际名称。
race <- dplyr::recode(race, '1'='Asian', '2'='Arab', '3'='Black', '4'='Latinx','5'='American Indian', '6'='Pacific Islander/Native Hawaiian','7'='White', '8'='Other/None', '9'='Prefer Not to Answer')
但是,我不知道如何处理输入多个种族的受访者。例如,使用我使用的代码,选择亚洲人 (1) 和白人 (5) 的人将显示为“1,5”而不是“亚洲人,白人”。我的输出看起来像这样。
[1] "Asian" "Arab" "American Indian" "1,5"
我的最终目标是将所有数值分类变量更改为每个组的实际名称,以使我的输出更易于阅读。我希望它看起来像这样。
[1] "Asian" "Arab" "American Indian" "Asian,White"
最好的方法是什么?
race_text <- stringr::str_replace_all(race, c('1'='Asian', '2'='Arab',
'3'='Black', '4'='Latinx', '5'='American Indian',
'6'='Pacific Islander/Native Hawaiian',
'7'='White', '8'='Other/None', '9'='Prefer Not to Answer'))
> race_text
[1] "Asian" "Arab" "American Indian" "Asian,American Indian"
我正在处理一个数据集,其中受访者通过在 R 中选择一个或多个种族类别来表明他们的种族。在我的数据集中,类别记录如下:1 = 亚洲人,2 = 阿拉伯人,3 = 黑人, 4 = 拉丁裔,5 = 美洲原住民,6 = 太平洋岛民/夏威夷原住民,7 = 白人,8 = 其他,9 = 不想回答。许多受访者指出了多个类别。例如:
race <- c('1', '2', '5', '1,5')
我正在尝试使用 dplyr 的重新编码功能将数字更改为每个种族的实际名称。
race <- dplyr::recode(race, '1'='Asian', '2'='Arab', '3'='Black', '4'='Latinx','5'='American Indian', '6'='Pacific Islander/Native Hawaiian','7'='White', '8'='Other/None', '9'='Prefer Not to Answer')
但是,我不知道如何处理输入多个种族的受访者。例如,使用我使用的代码,选择亚洲人 (1) 和白人 (5) 的人将显示为“1,5”而不是“亚洲人,白人”。我的输出看起来像这样。
[1] "Asian" "Arab" "American Indian" "1,5"
我的最终目标是将所有数值分类变量更改为每个组的实际名称,以使我的输出更易于阅读。我希望它看起来像这样。
[1] "Asian" "Arab" "American Indian" "Asian,White"
最好的方法是什么?
race_text <- stringr::str_replace_all(race, c('1'='Asian', '2'='Arab',
'3'='Black', '4'='Latinx', '5'='American Indian',
'6'='Pacific Islander/Native Hawaiian',
'7'='White', '8'='Other/None', '9'='Prefer Not to Answer'))
> race_text
[1] "Asian" "Arab" "American Indian" "Asian,American Indian"