r заменить значения, не равные 1, 2 или 3, на другие - PullRequest
2 голосов
/ 05 апреля 2019

У меня есть набор данных со столбцом Race со следующим распределением ниже

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

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

Я пытаюсь заменить значения, отличные от белого, черного или азиатского, на «Другое»

    Asian   Black White  Other
    1471    363   5917   5156

Будем очень благодарны за любые предложения о том, как изменить значения, которые не являются белыми, черными или азиатскими, на другие. Спасибо.

Ответы [ 2 ]

3 голосов
/ 05 апреля 2019
df$Race2 = replace(x = df$Race, 
                   list =  !df$Race %in% c('Asian', 'Black', 'White'), 
                   values =  'Other')
1 голос
/ 05 апреля 2019

Вы можете использовать что-то вроде этого -

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

ИЛИ

setDT(dt)[!(Race == "Black" | Race == "Asian" | Race == "White"), Race:="Other"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...