如何使用逻辑回归(glmmML)分析R中的面板数据?

时间:2016-11-18 12:26:56

标签: r logistic-regression panel-data random-effects

目前,我正在研究CEO离开公司的可能性(二进制变量=“1”,如果离开)。我的数据是2013年至2015年期间50家公司的不平衡面板数据,其中有51人。

我试图使用glmmML包运行两个回归模型(固定和随机效果)。但是,我收到以下警告:

pdata <- plm.data(ceodata, index=c("id","year"))
fixed <- glmmboot(left ~ age+tenure+boardappr+ROE, 
   family=binomial(link="logit"), data=pdata, cluster=id)
    Warning messages: 
 1: In model.response(mf, "numeric") : using type = "numeric" with a factor response will be ignored
 2: In glmmbootFit(X, Y, weights, start.coef, cluster, offset, family,  :[glmmboot:] Information non-positive definite. No variance!
 3: In Ops.factor(Y, res$fitted) : ‘/’ not meaningful for factors
 4: In Ops.factor(Y, log(ifelse(Y == 0, 1, Y/res$fitted))) ‘*’ not meaningful for factors
 5: In Ops.factor(1, Y) : ‘-’ not meaningful for factors
 6: In Ops.factor(1, Y) : ‘-’ not meaningful for factors

当我更改变量集时,我会得到相同的警告和无意义的回归结果。我想知道我做错了什么或者我使用的数据有问题吗? 也许,有人可以分享代码来运行固定和随机效应模型以及用于逻辑回归的Hausman检验吗?

P.S。我使用的数据如下所示:

Here is the overview of data I use

1 个答案:

答案 0 :(得分:0)

这里的近端问题是(与基础R中的glm不同,模型复制其模式)glmmML不允许分类变量作为响应。据推测

pdata <- transform(pdata,left=as.numeric(left)-1)

(在这种特殊情况下,as.numeric(as.character(left))会给出相同的结果......)将有助于:它将第一个因子级别转换为0,将第二个因子级别转换为1.

我对glmmML一无所知:我给出了一个答案here,展示了如何对符合stats::glmlme4::glmer的模型实施Hausman检验。 ..