我有一个包含许多整数变量列的数据框,每个变量代表食物频率调查表中的特定问题。我想将这些列重新编码为数字变量,表示每月食用的食物数量。 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重新编码这些变量?提前谢谢。