如何替换R中数据集列中的各种字符串

问题描述 投票:0回答:1

我正在处理一个包含大约 9000 个观察值的数据集。其中一列包含种族,大多数观察结果将种族列为“白人”、“黑人”、“西班牙裔”等。但是,也有一些观察结果具有多个种族。我在下面附上了所有比赛的图片。

我想用“混合”代替“黑人,西班牙裔”,“白人,黑人”等。我该怎么做?

r string replace
1个回答
0
投票

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
。希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.