将4种类别重新编码为3类,并在R中创建2个虚拟对象

时间:2017-04-24 02:49:29

标签: r dummy-variable recode

我正在使用变量进行比赛,其中包含以下值:1个黑人,2个西班牙裔,3个混合种族(非西班牙裔),4个非黑人/非西班牙裔。我想总结3和4并将其作为基类,并保持黑人和西班牙裔。我尝试创建2个虚拟对象(黑色= 1和其他西班牙语= 1)并创建了2个额外列,但其中的值不是10,而是False和{ {1}}。我使用的代码:

True

当我跑nlsy2$Hispanic <- nlsy2$Race==2 nlsy2$Black <- nlsy2$Race==1 nlsy2$Race [ nlsy2$Race == 0 ] <- 3 nlsy2$Race [ nlsy2$Race == 0 ] <- 4 时,R给我这个输出:

summary(nlsy2$Hispanic)

运行glm时NA是否有问题?此外,如果您有一个更好的代码解决方案,我可以重新编码竞赛变量,将非常感谢!谢谢!

1 个答案:

答案 0 :(得分:0)

确实

nlsy$Race[nlsy$Race == 3 | nlsy$Race == 4] <- 0
nlsy$Race <- factor(nlsy$Race)

不做这份工作?在进行任何建模时,您会在因素中​​而不是数字中想要它,因为这些是绝对的,并且您不希望冒险将它们解释为数字。