一次重新编码多个列

时间:2018-06-12 15:40:47

标签: r time-series recode

我想知道如何在R中重新编码一个列数组 - 到目前为止,Stackoverflow中没有一个答案对我有效。

我有2005-2015学年的教育水平(ed_level_yy),因为数据框架是在列不完全相邻的时刻构建的,但是由教育字段列“分解”( ed_fi_yy)。

目前,列由“教育代码”组成,即“100”将在ed_level中重新编码为“10 Hgh School”。 ed_level_yycharacter变量。

我试过制作一个矢量:

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高中'。

0 个答案:

没有答案