重新编码缺少级别的多个变量

时间:2015-12-08 18:28:03

标签: r statistics plyr recode

我有一个包含许多整数变量列的数据框,每个变量代表食物频率调查表中的特定问题。我想将这些列重新编码为数字变量,表示每月食用的食物数量。 mapvalues()中的plyr似乎是正确的功能,但我不断收到警告信息,因为并非所有的食物都记录了全部的回复:

The following `from` values were not present in `x`: 4, 5, 6, 7, 8

设置warn_missing = false不会返回警告消息,但我的数据仍然没有被重新编码。

示例代码(nail是我的数据框,foodnames是变量名列表):

for (food in foodnames[c(7:81, 95:97)]){
  mapvalues(eval(parse(text=paste("nails$", food))), from = c(1:8),
            to = c(0, 1, 2.5, 4, 8, 14, 22, 28)), warn_missing = FALSE)
}

即使它们不包含1到8的所有整数,如何让R重新编码这些变量?提前谢谢。

0 个答案:

没有答案