2016-06-19 44 views
0

Ich versuche glmmLasso zu laufen ein gemischtes Modell mit dem Befehl zu ermitteln:glmmLasso Warnmeldungen

glm1_final <- glmmLasso(Activity~Novelty + Valence + ROI, rnd = 
list(Subject=~1), data = KNov, lambda=lambda[opt],switch.NR=F,final.re=TRUE) 

Dieser Code wird im Grunde von demo("glmmLasso-soccer") genommen, aber mit meinen Variablen ersetzt in Aktivität ist ein Maß für die Gehirnaktivität. , Neuheit und Valenz sind kategorische Variablen, die die Art von Stimulus kodieren, der verwendet wird, um die Antwort hervorzurufen, und ROI ist eine kategorische Variable, die drei Regionen des Gehirns kodiert, von denen wir diese Aktivität abgetastet haben. Betreff ist eine ID-Nummer für die Personen, von denen die Daten erfasst wurden (n = 94). lambda[opt] wird in einem vorherigen Schritt gesetzt, obwohl dieser vorherige Schritt mir auch die fraglichen Fehler gibt, also weiß ich nicht, ob es genau ist.

Ich erhalte zwei Warnungen:

Warnmeldungen: 1: In split.default ((1: ncol (X)) [- inotpen.which], IPEN): Datenlänge ist nicht ein Vielfaches von Split Variable 2: In est.glmmLasso.RE (fix = fix, RND = rnd, data = Daten, Lambda = Lambda: Cluster Variable sollte als Faktor Variable angegeben werden

Die erste erfolgt nur, wenn! ROI ist in dem Modell.Ich habe keine Änderung identifiziert, die ich an dem Modell vornehmen kann, um das zweite weg zu machen.

Ich habe keine Ahnung, was diese Warnungen bedeuten, und Google hat nichts über sie aufgedeckt. Ich bekomme immer noch Schätzungen für meine Parameter, ich weiß nur nicht, ob sie genau sind, da ich nicht weiß, was die Warnungen bedeuten.

Wer weiß, was diese Warnungen bedeuten?

UPDATE: Google Drive

Ich habe bestätigt, ich bekomme immer noch den zweiten Fehler, wenn ich den Code ausführen:

ich eine abgekürzt Version meiner Daten hochgeladen haben

KNov <- read.table("Nov_abr.txt", header = TRUE) 
KNov$Subject <- factor(KNov$Subject) 
library(glmmLasso) 
glmmLasso(Activity~Novelty + Valence + ROI, rnd = list(Subject=~1), data = KNov, lambda=10,switch.NR=F,final.re=TRUE) 

Die KNOV $ Betreff < - Faktor (KNov $ Betreff) löschte den anderen Fehler.

Die Version von RI haben, ist: R Version 3.3.0 (2016.05.03), Plattform: "i386-w64-mingw32"

+0

Willkommen bei Stack Overflow! Können Sie bitte Daten und/oder Code angeben, der uns ein [reproduzierbares Beispiel] liefert (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? Können wir (zumindest) Ergebnisse von 'str (KNov)' sehen? –

+0

@BenBolker Ich habe Daten hinzugefügt, danke für Ihre Hilfe! – xralphyx

Antwort

3

sollten Sie

KNov$Subject <- factor(KNov$Subject) 

loswerden verwenden die ersten Warnung und as.factor(ROI) in Ihrem Fest Effekt Formel, wie dokumentiert (Hervorhebung hinzugefügt unten):

fix: ein zweiseitiges Objekt linear Formel Beschreibung den feste Effekten Teils des Modells, mit die Antwort auf die links von einem '~' Operator und die Begriffe, getrennt durch '+' Betreiber, auf der rechten Seite. Für kategoriale Kovariablen verwenden Sie 'as.factor (.)' In der Formel.Beachten Sie, dass die entsprechenden Attrappen als Gruppe behandelt werden und aktualisiert blockartig

So

glmmLasso(Activity~Novelty + Valence + as.factor(ROI), 
     rnd = list(Subject=~1), 
     data = KNov, lambda=10,switch.NR=F,final.re=TRUE) 

scheint zu funktionieren (ich immer noch eine Warnung erhalten, aber ich denke, das ist, weil ich bin eine kleine Teilmenge der Daten verwenden). (Diese Syntax wird auch in dem Beispiel "lineares gemischtes Modell mit kategorischen Kovariaten" in ?glmmLasso veranschaulicht.) Ja, es wäre nett, eine explizitere Warnmeldung zu erhalten, aber die Antwort ist in der Dokumentation ...

+0

Das wird diese Warnung los. Ich würde aber auch gerne Interaktionen mit ROI testen. Wenn ich 'glmmLasso (Aktivität ~ Neuheit + Valence + as.factor (ROI) + Neuheit: as.factor (ROI) + Neuheit: Valenz: as.factor (ROI), rnd = Liste (Betreff = ~ 1) , data = KNOV, Lambda = 10, switch.NR = F, final.re = TRUE) ' ich den Fehler ' Fehler in '[.data.frame' (Daten erhalten, strsplit (fac.name , ":") [[1]] [1]): undefined columns selected' – xralphyx

+0

meine Vermutung ist, dass Sie Ihre eigenen Modell Matrix/Dummy-Variablen erstellen müssen; Ich denke, dass 'as.factor()' in Formeln speziell behandelt wird, also einschließlich der Interaktionsbezeichnung wird es wahrscheinlich gerade. (Es wäre es wert, 'as.factor (Novelty: ROI) zu versuchen' - Ich bezweifle, dass es funktioniert, aber wenn es das tut, wäre es der einfachste Weg vorwärts.) (Ich könnte meine Antwort aktualisieren, aber technisch fragen Sie eine andere Frage ...) –

+0

Schnelle Klärung - ist der Grund, warum ROI den as.factor() benötigt, weil er mehr als 2 Ebenen hat (im Gegensatz zu Novelty of Valence, die auch kategorisch sind)? – xralphyx