我有一个类似于以下的数据,我想用对数链接拟合一个具有正态方差分布的可交换相关矩阵。
x <- data.frame(id=rep(1:20, each=3), events=sample(0:12,60, replace = T),
sport=sample(0:1,30, replace = T), sex=rep(c("M","F"), each=30))
library(gee)
gee(events ~ sport + sex, id=id, data = x,
corstr = "exchangeable", family = gaussian(link="log"))
[当尝试使用R中的gee
或geeglm
函数来调整此值时,出现以下错误:
Error in eval(family$initialize) : cannot find valid starting values: please specify some
这很可能是因为我的结果中有0
;我读到我必须用start
或offset
指定一些内容。我怎样才能解决这个问题?
您需要提供一个具有适当长度的起始值向量。可以通过运行类似的模型但使用默认的“身份”链接进行高斯分布来找到初始猜测。
library(gee)
gee0 <- gee(events ~ sport + sex, id=id, data = x,
corstr = "exchangeable", family = gaussian))
___
(Intercept) sport sexM
5.797436 -1.230769 1.866667
因此,请尝试这些作为入门。根据documentation,可以使用b
参数指定起始值。
gee1 <- gee(events ~ sport + sex ,id=id, data = x, b=coef(gee0),
corstr = "exchangeable", family = gaussian("log"))
summary(gee1)
Coefficients:
Estimate Naive S.E. Naive z Robust S.E. Robust z
(Intercept) 1.7360218 0.1481879 11.715004 0.1503372 11.547521
sport -0.2060653 0.1575038 -1.308320 0.1546603 -1.332374
sexM 0.3191439 0.1589250 2.008141 0.1530178 2.085665