【发布时间】:2020-12-08 19:54:36
【问题描述】:
我正在尝试运行对匹配数据产生随机影响的条件逻辑回归。以下是我的数据的结构:
outcome<-c(1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0)
strata_id<-c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6)
tmax<-c(30.7,31.3,34.7,32.9,28.2,26.0,26.7,26.5,33.5,33.9,35.3,35.5,28.1,29.2,29.4,28.9,31.5,33.8,35.1,34.2,28.3,29.4,30.1,33.7)
cntry_code<-c("A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C")
data<-as.data.frame(cbind(outcome,strata_id,tmax,cntry_code))
data
outcome strata_id tmax cntry_code
1 1 1 30.7 A
2 0 1 31.3 A
3 0 1 34.7 A
4 0 1 32.9 A
5 1 2 28.2 A
6 0 2 26 A
7 0 2 26.7 A
8 0 2 26.5 A
9 1 3 33.5 B
10 0 3 33.9 B
11 0 3 35.3 B
12 0 3 35.5 B
13 1 4 28.1 B
14 0 4 29.2 B
15 0 4 29.4 B
16 0 4 28.9 B
17 1 5 31.5 C
18 0 5 33.8 C
19 0 5 35.1 C
20 0 5 34.2 C
21 1 6 28.3 C
22 0 6 29.4 C
23 0 6 30.1 C
24 0 6 33.7 C
我想匹配strata_id(固定效应)并包含每个人居住的国家的随机效应。我在R中使用mclogit包,这是我指定的模型:
model1<-mclogit(cbind(outcome, strata_id)~ns(tmax, df=3), random = ~1|cntry_code, data=data)
但我得到了错误:
Error in mclogit(cbind(outcome, strata_id) ~ ns(tmax, df = 3), random = ~1 | :
No predictor variable remains in random part of the model.
Please reconsider your model specification.
我不确定如何解决此错误。我应该使用其他方法,例如 glmer 还是 lme4 包?
【问题讨论】:
-
这不是因为每个
strata只存在于一个国家/地区吗?如果每个阶层只有一个国家,如何将国家从阶层中分离出来作为随机效应?
标签: r conditional-statements logistic-regression mixed-models