2016-06-22 2 views
0

Ich versuchte Subset Regression mit bestglm zu tun, aber wenn ich es ausgeführt, bekam ich folgende FehlermeldungAusgabe mit bestglm in R - S und F zählt nicht sein <0

Error in bestglm(Xy=H.bestglm2, family = binomial, IC ="AC", method = "exhaustive": 
Binomial non-logistic regression: S and F counts can not be <0 

Ich habe keine Ahnung, was das bedeutet und ich kann keine Informationen zu diesem Thema finden.

Vielen Dank!

+0

Meine Vermutung ist, S und F bedeutet Erfolg bzw. Misserfolg. Sie haben wahrscheinlich negative Werte in 'Xy'. – Roland

+0

Die Sache ist, es gibt keine negativen Werte. In meinem Datensatz habe ich Daten, Einnahmen (positive Werte), binäre und kategorische Variablen (maximal 10 Stufen). – Dontik

+0

Haben Sie die Dokumentation studiert? Sie haben wahrscheinlich die LHS für eine Binomial-GLM nicht korrekt angegeben. Bitte geben Sie ein reproduzierbares Beispiel an. – Roland

Antwort

1

Es scheint, als ob die Dokumentation für bestglm unvollständig ist. Ich bin auch auf diesen Fehler gestoßen und konnte mit meinem Datenrahmen nichts falsch finden. Schließlich, während ich meine Datenspalten in ein existierendes, funktionierendes data.frame (SAheart aus den Bestglm-Beispielen) setzte, fand ich heraus, dass der Xy-Datenrahmen scheinbar nur die letzte Spalte als Ergebnisvariable verwendet.

Dies schlägt fehl:

> set.seed(1) 
> test.data=data.frame(y=rbinom(100,1,.5),X=rnorm(100)) 
> bestglm(test.data,family=binomial) 
Error in bestglm(test.data, family = binomial) : 
    Binomial nonlogistic-regression: S and F counts can not be <0 

Aber das funktioniert:

> set.seed(1) 
> test.data=data.frame(X=rnorm(100),y=rbinom(100,1,.5)) 
> bestglm(test.data,family=binomial) 
Morgan-Tatar search since family is non-gaussian. 
BIC 
Best Model: 
       Estimate Std. Error z value Pr(>|z|) 
(Intercept) -0.4895482 0.2060214 -2.376201 0.01749194 

Egal, wie meine Variablen genannt werden, scheint es immer nur die letzte Spalte zu ergreifen, während das Ergebnis zu verwenden (y) Variable. Im ersten Fall erzeugt dies den Fehler, da diese Spalte nicht streng 0/1 ist, so dass Sie nicht glauben, dass Sie eine logistische Regression durchführen.

0

Wenn Sie sicher sind, dass der Antwortvariable (die in der letzten Spalte sein muss) binär ist, dann versuchen Sie dies:

H.bestglm2 <- data.frame(H.bestglm2) 

und führen bestglm auf das neue Objekt

Verwandte Themen