2017-04-03 3 views
-1

Ich habe eine Frage darüber, wie man den NA-Wert nach einer Regression in den Vektor einbezieht.NA in lineares Modell in einschließen R

Hier ist mein Code:

m <- c(100, 108, 105, 120) 
n <- c(5, NA, 10, 8) 

b <- lm(n~m)$fitted.values 

# This returns: 

     1  3  4 
6.961538 7.384615 8.653846 

Ich brauche Spalte 2 als auch enthalten sein, entweder mit Null oder NA, so dass es von 4 Spalten statt 3. besteht Vorschläge, wie das zu tun ?

+0

Need wieder die Vorhersage zu nennen. 'vorherzusagen (lm (n ~ m), data.frame (m = c (100, 108, 105, 120))) – OganM

Antwort

1

Um Ihre extrahierten angepassten Werte werden auch NA (dh 4 Spalten) sind Sie na.exclude innerhalb lm()

na.exclude tut Casewise Löschung in Bezug auf Prädiktoren und Kriterien und in diesem Fall Funktion fitted() Ausgang mit NA füllen können

So sieht der Code wie folgt

m <- c(100, 108, 105, 120) 
n <- c(5, NA, 10, 8) 

# ordinary linear model 
b <- lm(n~m, na.action = na.exclude) 

# extract elements from a linear model fit 
fitted(b) 

# And output of NA column 
fitted(b) 
     1  2  3  4 
6.961538  NA 7.384615 8.653846