我确实有一个面板数据集,可以被模仿:
set.seed(123)
N = 1000
X2 = runif(N, 0, 1)
X1 = sample(0:6, N, replace=TRUE)
eps = rnorm(N, 0, 6)
length = sample(1:4,N,replace=TRUE)
Ycont = 0.5*X2 - 0.3*X1 +0.2*length + 10 + eps
Y = ntile(Ycont, 3)
Y =Y - 1
df_org = data.frame(id=as.character(1:N), length, Y, X1, X2)
df_org[df_org$length==2 & df_org$Y==1,]$Y=0 # keine Ausfälle in t2
df = df_org
# Data-Manipulation
df_long = setDT(df_org)[,.SD[rep(1L,(length))], by = id]
# add length-variable:
df_long = df_long[ , time := 1:.N, by=id]
# correct dependent variable
df_long$Y_new = df_long$Y
df_long[df_long$time < df_long$length,]$Y_new = 0
df_long$int_time = as.factor(df_long$time)I现在想要用一个随机项来拟合一个多项式logit模型,该模型由ID.来识别。
没有随机项,我的模型计算如下:
reg_surv=multinom(Y_new~-1+int_time+X1+X2,data=df_long,maxit=500,MaxNWts =2000)我读到我需要估计一个质量点混合多项式logit模型。但是如何在R中实现这一点呢?
发布于 2017-09-08 14:17:59
我不太确定质量点部分,但是你可以在R中加入随机效应,在你的模型中加入单个ID作为因子。这有效地向模型中添加了单个级别的假人(这是每个个体的一个虚拟变量),并“允许”您的拦截在个体级别上发生变化,测量给定个体与平均“得分”之间的差异。
进一步阅读:model
https://stackoverflow.com/questions/46116366
复制相似问题