在R中重新组合变量

时间:2017-04-23 03:42:30

标签: r

我正在使用NLS数据,并希望对一些自变量进行婚姻状况的逻辑回归。 婚姻状况按以下方式编码:     1084 1从未结婚,同居     2441 2从未结婚,不同居     2744 3已婚,配偶在场      188 4已婚,配偶缺席       18 5分居,同居       66 6分开,不同居      202 7离婚,同居      361 8离婚,不同居        4 9丧偶,同居       12 10丧偶,不同居

我想制作2组已婚和未婚,其中第1组和第2组将结婚至结婚= 0,其余结婚= 1。我的数据集叫做nlsy。 我知道这是一个基本问题,但我将不胜感激任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:0)

尝试类似的东西(代入实际的变量名称,因为你没有提供最小的可重复的例子):

nlsy$never_married <- nlsy$marital_status %in% c("1084 1 Never married, cohabiting", "2441 2 Never married, not cohabiting")

这将使您的data.frame列(假设nlsy是data.frame)是一个逻辑值,TRUE如果从未结婚,FALSE如果结婚了。

答案 1 :(得分:0)

使用它。你做了什么没有错,但这是一个很长的方法。

install.packages("dplyr")  
library(dplyr)  

a <- cbind.data.frame(status=c("Never married, cohabiting","Never married, not cohabiting","Married, spouse present",
         "Married, spouse absent","Separated, cohabiting","Separated, not cohabiting",
         "Divorced, cohabiting","Divorced, not cohabiting","Widowed, cohabiting",
         "Widowed, not cohabiting"), value=c(1084 ,2441,2744,188,18,66,202,361,4,12))

a=a %>%
  mutate(married_status=as.numeric(status %in% 
                        c("Married, spouse present",
         "Married, spouse absent","Separated, cohabiting","Separated, not cohabiting",
         "Divorced, cohabiting","Divorced, not cohabiting","Widowed, cohabiting",
         "Widowed, not cohabiting"))) %>%
select(-status)  

如有任何疑问,请与我联系。