我觉得这应该很简单,而且过去一直很有效。我写了一个简单的cut
函数来将年龄数据分类到类别中:
janorgssub$agecat<-cut(as.numeric(janorgssub$Age), breaks = c(0, 1, 5, 25, 50, 65, 130), labels = c('<1','1-5','6-25','26-50','51-65','>65'), include.lowest = TRUE)
但它返回了有趣的答案:
head(janorgssub$Age)
[1] 32 65 <NA> <NA> <NA> <NA>
77 Levels: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... NM
head(janorgssub$agecat)
[1] 6-25 51-65 <NA> <NA> <NA> <NA>
Levels: <1 1-5 6-25 26-50 51-65 >65
为什么&#39; 32&#39;出现在&#39; 6-25&#39;?许多观点是正确的,但似乎随机分配了错误的类别。
(抱歉只有两个数据点和NA&#39;但在其他地方也会返回错误)。