2015-03-27 1 views
7

abhängen Unten gibt es eine MWE des Problems, das ich begegne. Ich verwende den Datensatz Orthodont aus dem Paket nlme, das aus 4 Messungen für 27 Kinder (16 Mädchen, 11 Jungen) besteht. Um die Korrelation zu modellieren, verwende ich eine unstrukturierte Kovarianzstruktur durch Angabe von correlation = corSymm(form = ~1|Subject). Ich erlaube eine nicht-konstante Varianz über verschiedene Messanlässe hinweg, möchte aber auch zulassen, dass die Varianz-Kovarianz-Parameter für Jungen und Mädchen unterschiedlich sind (z. B. weil die Korrelation zwischen Messungen bei Jungen möglicherweise höher/niedriger ist als bei Mädchen). Ich kann diese Heterogenität für die Varianzparameter berücksichtigen, indem ich weights = varIdent(form = ~1|age*Sex) spezifiziere, aber weiß jemand, wie man diese Heterogenität für die Korrelationsparameter erlaubt/spezifiziert?Zulassen, Korrelationsparameter in GLS von Gruppierungsfaktor

Ich weiß, das in SAS möglich ist proc mixed durch die group Option in der repeated Anweisung (http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_mixed_sect019.htm) spezifiziert, aber ich habe keinen Weg, um mit diesem in R.

Vielen Dank im Voraus gefunden!

library(nlme) 
head(Orthodont) 
fit <- gls(distance ~ age * Sex, correlation = corSymm(form = ~1|Subject), 
      weights = varIdent(form = ~1|age*Sex), data = Orthodont, na.action = na.exclude) 
+1

Wenn Sie die Beschreibung von 'Form' für'? CorSymm' betrachten, bin ich mir nicht sicher, ob Sie ... wie es sagt: _Wenn ein Gruppierungsfaktor in Form vorliegt, wird die Korrelationsstruktur angenommen gelten nur für Beobachtungen innerhalb derselben Gruppierungsebene; Beobachtungen mit verschiedenen Gruppierungsebenen werden als unkorreliert angenommen. Vielleicht können Sie mit einer initialisierten allgemeinen Korrelationsstruktur vordefinieren? Die Hilfefunktion hat dazu einige Informationen, weil ich keine Ahnung habe, wie das geht. – OFish

Antwort

1

Ich bin mir nicht ganz sicher, das ist, was Sie suchen, aber geben diese einen Versuch:

fit <- gls(distance ~ age * Sex, 
      correlation = corSymm(form = ~1|Subject/Sex), 
      weights = varIdent(form = ~1|age*Sex), 
      data = Orthodont, na.action = na.exclude) 

Es passt ein völlig getrenntes Tag zu Tag Korrelation für Männer und Frauen . Wenn Sie

summary(fit) 

ausführen, zeigt es dies ziemlich deutlich.

+0

Leider bekomme ich genau die gleiche Ausgabe wie für das Modell in meinem Beispiel (also keine separaten Korrelationsparameter für Männer und Frauen). – johansteen

Verwandte Themen