Я работаю с данными Национального опроса о состоянии здоровья и пытаюсь упростить переменную расы до 5 сегментов. Я хочу создать новый столбец под названием «RACE» из существующих данных, который включает в себя азиатский = 1, черный = 2, белый (неиспанец c) = 3, испанец = 4, другой = 5. В настоящее время переменная расы называется «RACEA» и включает в себя несколько кодов, обозначающих расу, как написано здесь:
411, 412, 416, 434= Asian
200=Black
100=White
310,580,600=Other
НО, переменная, указывающая этническую принадлежность испанского c, является отдельной переменной под названием HISPETH. С этой переменной
10=non-Hispanic
20,23,30,40,50,61,62,63,70=Hispanic
Поэтому, чтобы создать значение белого (не Hispani c) и Hispani c, мне нужно R, чтобы использовать оба значения столбца RACEA и ХИСПЕТ.
Вот код, который я попытался выполнить, чтобы сделать все это, но меня встретило сообщение об ошибке, что «чем больше длина объекта не кратна короткой длине объекта» для части с список значений HISPETH, как показано ниже.
Что мне делать? Я открыт для использования других функций, кроме case_when, это то, что я использовал в прошлом. Спасибо!
`NHIS_test <- NHIS1 %>%
mutate(RACE = case_when(RACEA <= 411 ~ '1',
RACEA <= 412 ~ '1',
RACEA <= 416 ~ '1',
RACEA <= 434 ~ '1',
RACEA <= 200 ~ '2',
RACEA <= 100 & HISPETH <= 10 ~ '3',
HISPETH <= c(20:70) ~ '4',
RACEA<=100 & HISPETH <= c(20,23,30,40,50,61,62,63,70) ~ '4',
RACEA <= 310 ~ '5',
RACEA <= 580 ~ '5',
RACEA <= 600 ~ '5',
TRUE ~ 'NA'))`