用其他替换不等于1或2或3的值

时间:2019-04-05 19:21:04

标签: r replace

我有一个数据集,其列为Race,下面的分布如下

  table(df$Race, useNA = "ifany")

  4      5     6     7   Asian   Black White  <NA> 
  15     6     11    29  1471    363   5917   5095 

我正在尝试将“ White”,“ Black”或“ Asian”以外的值替换为“ Other”

    Asian   Black White  Other
    1471    363   5917   5156

任何关于如何将非白色,黑色或亚洲色值更改为其他值的建议都受到赞赏。谢谢。

2 个答案:

答案 0 :(得分:3)

df$Race2 = replace(x = df$Race, 
                   list =  !df$Race %in% c('Asian', 'Black', 'White'), 
                   values =  'Other')

答案 1 :(得分:1)

您可以使用类似这样的内容

library(data.table)
setDT(dt)[!(Race %like% "Black" | Race %like% "Asian" | Race %like% "White"),Race:="Other"]

OR

setDT(dt)[!(Race == "Black" | Race == "Asian" | Race == "White"), Race:="Other"]