Запись нескольких столбцов одновременно - PullRequest
0 голосов
/ 12 июня 2018

Интересно, как перекодировать массив столбцов в R - пока что ни один из ответов в Stackoverflow не сработал для меня.

У меня есть уровень образования (ed_level_yy) с 2005-2015, однакопоскольку фрейм данных структурирован в данный момент, столбцы расположены не совсем рядом друг с другом, а «разбиты» по столбцам поля образования (ed_fi_yy).

В данный момент столбцы состоят из «образовательных кодов», то есть «100» будет перекодировано в «10 Hgh School» в ed_level.ed_level_yy - это переменная character.

Я попытался создать вектор:

ed_level <- c("ed_level_05", "ed_level_06", "ed_level07", "ed_level08", ...)

, а затем использовать его следующим образом:

library(car)
df[ed_level] <- lapply(df[ed_level], 
function(x) recode (x, recodes = "'100'='10 High School'; '250' = '10 High School'; '120' = '30 Masters'"))`

Этоне показывает ошибку, но просто не меняет переменные.Я также попробовал это решение:

df[,ed_level] <- as.data.frame(lapply(df[,ed_level],
function(x) ifelse (x == '100', '10 High School', 
ifelse(x == '250', '10 High School', 
ifelse(x == '120', '30 Masters',x)))))`

Однако, это также не работает.Я должен сказать, что у меня есть около 200 различных «кодов», поэтому все, что может «связать» их, также будет оценено - например, «если» 100 или «150» = «10 High School».

...