我正在尝试计算R包“geepack”中的GEE模型。响应变量是成比例的,编码为(成功,失败)。解释变量是Weight(cont),Rank(cont),ColonySize(cont)和Sex(factor)。该数据集包含观察的时间非独立性,因为在413天的研究期间重复进行相同个体的行为测量。这种非独立性反映在指定AnimalID和观察日(Ndate)的列中。数据集不是很大,包含对165个不同个体的1062个观察结果。完整的研究期为413天(即Ndate范围:1-413)。
gee1<-geeglm(wl~WeightScaled+Rank+ColonySize+Sex,
data=allsub, family=binomial, id=AnimalID,
corstr="ar1")
上述模型的计算没有困难,没有明显的延迟。但是,观察结果并未在研究期间定期分布(参见下面Ndate的完整向量),这意味着模型输出没有意义。当我在模型中包含wave参数以正确地考虑时间自相关时,R似乎卡住或需要很长时间来计算这个模型,这应该真的不需要花费太多时间。会发生什么事情是R-Gui显示“(没有响应)”超过1小时,小圆圈(Win7)表示R正忙。根据任务管理器的CPU使用率大多在25-30%之间,有时高达50%。所以我的问题是:在指定导致R挂起的“wave”函数时是否犯了错误,或者这个过程计算非常激烈是正常的吗? (参见下面变量Ndate的摘录)
包含wave参数的模型:
gee1<-geeglm(wl~Weight+Rank+ColonySize+Sex,
data=allsub, family=binomial, id=AnimalID,
corstr="ar1", waves=Ndate)
关于这个GEE及其自相关结构,第二个问题更为基础:该模型是否能够处理这种时间自相关,其中一个人的重复观察通常为5-15,但两者之间的时间变化很大(有时只有几天,但有时长达100天或更长)。教科书的例子看起来都很不一样,但我认为原则应该是一样的。
非常感谢。
> allsub$Ndate
[1] 169 169 169 43 43 5 5 5 267 267 267 267 162 162 162 162 162 256
[19] 256 256 256 256 256 263 263 263 263 263 263 176 176 176 176 176 176 183
[37] 183 183 183 183 183 190 190 190 190 190 190 190 196 196 196 196 196 196
[55] 196 284 284 284 284 291 291 291 291 175 175 175 175 175 175 175 175 199
[73] 199 199 199 199 199 199 186 186 186 186 186 186 189 189 189 189 189 189
[91] 266 266 266 266 266 266 196 196 196 196 196 196 196 242 242 242 242 242
[109] 242 207 207 207 207 207 210 210 210 210 210 245 245 245 245 245 245 302
[127] 302 302 302 302 302 302 302 217 217 217 217 217 217 217 270 270 270 272
[145] 272 272 291 291 291 220 220 220 220 220 220 220 238 238 238 238 238 238
[757] 291 291 291 291 291 291 220 220 238 238 241 241 294 294 294 294 294 294
[775] 303 303 303 263 263 263 263 263 263 263 263 263 263 316 316 309 304 304
[793] 304 323 323 19 50 99 67 67 67 22 22 22 43 60 110 178 178 178
[811] 33 115 115 115 115 96 116 116 116 116 116 116 116 116 116 116 116 26
[829] 26 122 122 122 122 122 122 122 122 122 64 40 40 40 40 40 40 40
[847] 40 40 58 58 58 58 58 58 58 58 58 58 71 71 75 85 127 78
[865] 78 12 12 12 12 12 12 12 12 12 12 15 152 152 152 152 337 337
[883] 337 337 337 337 344 344 344 344 344 344 344 82 82 82 82 82 82 82
[901] 82 82 348 348 348 348 348 348 348 348 348 351 351 351 359 359 355 355
[919] 355 354 354 345 345 345 358 358 358 358 362 362 362 331 331 349 349 361
[937] 361 378 364 364 364 369 369 369 375 375 375 373 373 373 373 342 365 365
[955] 365 365 365 365 365 365 379 379 379 379 379 379 379 379 379 379 379 379
[973] 379 379 352 352 341 382 382 382 385 373 373 373 373 373 373 368 368 368
[991] 389 389 389 389 285 285 285 308 308 309 309 321 322 326 329 329 329 329
[1009] 330 330 330 330 385 385 385 385 385 385 385 380 380 380 380 380 380 380
[1027] 386 386 386 386 390 390 390 390 365 365 393 393 393 393 393 393 393 393
[1045] 393 393 393 393 393 393 399 397 397 397 392 392 392 392 407 407 400 400 [1063] 413 413
答案 0 :(得分:1)
我发现在包含wave参数时R崩溃的原因。 GEEglm不接受同一天对同一个人进行的两次观察。在思考模型的作用时,这是有道理的。希望这可以帮助别人。