R - geeglm错误:对比度仅适用于具有2个或更多级别的因子

时间:2016-05-09 05:35:11

标签: r gee

我已将GEE应用于以下数据集(str如下)。一切都很好。

> str(cd4.5m2)
'data.frame':   1300 obs. of  7 variables:
 $ id       : Factor w/ 260 levels "1","5","29","32",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ Treatment: Factor w/ 4 levels "Alternating",..: 2 2 2 2 2 1 1 1 1 1 ...
 $ Age      : num  36.4 36.4 36.4 36.4 36.4 ...
 $ Gender   : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 2 2 2 2 2 ...
 $ logcd4   : num  3.14 3.04 2.77 2.83 3.22 ...
 $ Week     : num  0 7.57 15.57 23.57 32.57 ...
 $ Time     : int  0 1 2 3 4 0 1 2 3 4 ...

然后我转换了结果变量,原因是我们想要监控随时间的变化。因此,转换后的数据的str看起来如下所示,几乎与前一个数据完全相同(除了一些名称更改)。

> str(cd4.5m1)
'data.frame':   1300 obs. of  6 variables:
 $ id             : Factor w/ 260 levels "1","5","29","32",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Treatment      : Factor w/ 4 levels "Alternating",..: 2 1 4 1 3 3 1 4 1 3 ...
 $ Age            : num  36.4 35.9 47.5 37.3 42.7 ...
 $ Gender         : Factor w/ 2 levels "Female","Male": 2 2 2 1 2 2 2 2 2 2 ...
 $ Week           : num  1 1 1 1 1 1 1 1 1 1 ...
 $ cd4.change.norm: num  0.572 0.572 0.572 0.572 0.572 ...

然后我再次运行GEE,它给了我错误。

> gee1.default <- geeglm(cd4.change.norm ~ Treatment, data=cd4.5m1, id=id, family=gaussian, corstr="unstructured")
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels

我还测试了数据中的所有变量,它们都包含多个值。所以我完全迷失在这里。我也看到了很多关于此错误的帖子,但似乎没有人能够在这里解决我的问题。帮助赞赏!

1 个答案:

答案 0 :(得分:1)

我将相关结构更改为AR1,并且工作正常。我测试了相关性(随时间减少),AR1是正确的结构。

但通常非结构化应该是保存选项吗?