我想使用语言 R 估计一个嵌套的 logit 模型。作为此类问题的标准包,我使用“mlogit”。现在我想估计一个模型,不止一个阶段。问题如下:
- 阶段:人们决定是否要移民美国。
- 阶段:对于所有决定移民的人,他们必须决定他们想去美国的哪个地区(美国分为6个地区)
- 阶段:在区域内,他们决定住在什么样的区域;城市与农村
我已经使用 mlogit.data() 转换了我的数据。
data <- mlogit.data(data = usa_canada_uk, choice = "migrant"))
这就是“数据”的样子:
sex marst numperhh_cat age_cat famsize nchlt5 labour_code sample nchlt10
3888.no female married 1-5 16+ 1 no chiled aged 5 or younger not working 8262 no chiled aged 10 or younger
12874.no female married 1-5 16+ 2 or more at least one child aged 5 or younger ancillary 8262 at least one child aged 10 or younger
13084.no female married 1-5 16+ 2 or more at least one child aged 5 or younger ancillary 8262 at least one child aged 10 or younger
9359.yes female married 1-5 16+ 1 no chiled aged 5 or younger service 8262 no chiled aged 10 or younger
7569.no female married 1-5 16+ 1 no chiled aged 5 or younger service 8262 no chiled aged 10 or younger
5778.no female married 1-5 16+ 1 no chiled aged 5 or younger not working 8262 no chiled aged 10 or younger
perwt labforce age migrant country_of_birth region citypop urban work.prob.home work.prob.abroad migration.prob stay.prob chid
3888.no 1 in labforce 26 TRUE United Kingdom home_country NA urban NA NA NA NA 3888
12874.no 1 in labforce 47 TRUE United Kingdom home_country NA rural NA NA NA NA 12874
13084.no 1 in labforce 22 TRUE United Kingdom home_country NA urban NA NA NA NA 13084
9359.yes 1 in labforce 28 FALSE United Kingdom home_country NA urban NA NA NA NA 9359
7569.no 1 in labforce 32 TRUE United Kingdom home_country NA urban NA NA NA NA 7569
5778.no 1 not in labforce 38 TRUE United Kingdom home_country NA rural NA NA NA NA 5778
alt
3888.no no
12874.no no
13084.no no
9359.yes yes
7569.no no
5778.no no
这是我的想法,我想如何编码,但它不起作用:
mlog <- mlogit(migrant ~ 1 | age + numperhh_cat + sex + famsize + work.prob.home,
nests = list(home = c("home_country"),
foreign = c(region_1 = c("rural", "urban"),
region_2 = c("rural", "urban"),
region_3 = c("rural", "urban"),
region_4 = c("rural", "urban"),
region_5 = c("rural", "urban"),
region_6 = c("rural", "urban"))
),
reflevel = "yes",
weights = perwt,
data = data)
可以看到,第一阶段的一个巢(决定不迁移=“home_country”)是退化的。
如果有人可以帮助我,那就太棒了。
最好的祝愿,
克里斯