Ich möchte die Ergebnisse einer multivariaten logistischen Regressionsanalyse (GLM) für eine spezifische unabhängige Variablen (dh unabhängig von der Confounders in das Modell aufgenommen) Beziehung mit der Ergebnis (binär).Plotten Sie die Ergebnisse eines multivariaten logistischen Regressionsmodells in R
Ich habe Beiträge gesehen, die die folgende Methode mit dem predict
Befehl gefolgt von curve
empfehlen, hier ist ein Beispiel;
x <- data.frame(binary.outcome, cont.exposure)
model <- glm(binary.outcome ~ cont.exposure, family=binomial, data=x)
plot(cont.exposure, binary.outcome, xlab="Temperature",ylab="Probability of Response")
curve(predict(model, data.frame(cont.exposure=x), type="resp"), add=TRUE, col="red")
Dies scheint jedoch nicht für multivariate Regressionsmodelle zu arbeiten. Ich bekomme den folgenden Fehler, wenn ich "age" (willkürlich - könnte jede Variable der gleichen Länge sein) als eine confounding Variable hinzufügen;
> x <- data.frame(binary.outcome, cont.exposure, age)
> model <- glm(binary.outcome ~ cont.exposure + age, family=binomial, data=x)
> plot(cont.exposure, binary.outcome, xlab="Temperature",ylab="Probability of Response")
> curve(predict(model, data.frame(cont.exposure=x), type="resp"), add=TRUE, col="red")
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
variable lengths differ (found for 'age')
In addition: Warning message:
'newdata' had 101 rows but variable(s) found have 698 rows
Das obige Modell ist eine vereinfachte Version der Modelle würde ich gerne laufen, aber das Prinzip ist das gleiche; Ich möchte die Beziehung zwischen einer binären Ergebnisvariable und einer kontinuierlichen Exposition, unabhängig von Störfaktoren, darstellen..
Es wäre toll, entweder einen Workaround für das oben genannte zu bekommen, oder eine alternative Möglichkeit, die Beziehung zu sehen, die mich interessiert. Vielen Dank.
Sie können einen Blick auf die 'crPlots' Funktion im' car' Paket haben. – BenBarnes
@BenBarnes danke dafür. Ich habe mir die Daten angeschaut und getippt, und die Funktion erkennt nicht, dass ich logistische Regressionen mache. Wenn ich jedoch eine lineare Regression verwende (dh meine Exposition ist jetzt mein Ergebnis, meine binäre Variable eine unabhängige Variable), dann bekomme ich genau das, was ich will. Werden Sie dies als eine Antwort für mich zu akzeptieren, oder soll ich? – Luke
Ich werde Thierrys Antwort verbessern! – BenBarnes