У меня большой набор данных, и мне нужно перекодировать несколько числовых переменных в другие числовые значения.Часть моего набора данных выглядит следующим образом:
condition.10 financial.condition behavior.condition outcome Gender Race
1 6 1 3 0 Male 5
2 7 0 4 0 Female 5
3 5 0 3 1 Female 5
4 2 1 1 1 Male 2,5
5 10 1 5 0 Female 5
6 6 1 3 1 Male 5
Я хочу перекодировать расу в 3 «ячейки» из 1, 2, 3 - «белый», «черный» и «другой» соответственно.Мне удалось добиться этого с помощью этого кода:
mydata$Race <- NA
mydata$Race <- mydata$Q73
mydata$Race[mydata$Race==1|mydata$Race==2|mydata$Race==4|mydata$Race==6]<-6
mydata$Race[mydata$Race==3]<-2
mydata$Race[mydata$Race==5]<-1
mydata$Race[mydata$Race==6]<-3
Я также попробовал это:
case_when(mydata$Race %in% c(1,2,4,6) ~3,
mydata$Race %in% 3 ~ 2,
mydata$Race %in% 5 ~1,
TRUE ~ as.numeric(mydata$Race))
Первый бит дает мне то, что мне нужно, но он не учитывает людейпроверка двух гонок, например, в 4-м ряду.
Любой совет будет оценен.Я уже готов перекодировать из пакета автомобиля и dplyr.
Может быть, это просто я, будучи новым, но это больно не в состоянии сделать основы.
unique(mydata$Race)
# [1] 5 2,5 2 3 6 3,5 1,5 1,2,4,5 1 1,2,5 4,6 3,6 2,3 1,3 4
# [16] 2,4,5,6 1,3,5 4,5
# Levels: 1 1,2,4,5 1,2,5 1,3 1,3,5 1,5 2 2,3 2,4,5,6 2,5 3 3,5 3,6 4 4,5 4,6 5 6
Примечание: Я очень новичок в R и ищу руководство.