R - geeglm Ошибка: контрасты могут применяться только к факторам с 2 или более уровнями
Я применил 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(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
Я также проверил все переменные в данных, все они содержат несколько значений. Так что я полностью потерян здесь. Я также видел много сообщений об этой ошибке, но, похоже, ни одна из них не может решить мою проблему здесь. Помощь оценена!
2 ответа
Я изменил структуру корреляции на AR1, и это сработало. Я проверил корреляцию (уменьшилась с течением времени), и AR1 - правильная структура для использования.
Но обычно неструктурированным должен быть вариант сохранения?
Я только что переупорядочил свои данные, и это работает. Я хотел бы предложить вам попробовать изменить порядок ваших данных, например