2016-08-15 153 views
0

試行#R4DS的多種型號章楠的不允許,並在年底遇到了一個錯誤信息:錯誤:遺漏值,如果「na.rm」是假

Error: missing values and NaN's not allowed if 'na.rm' is FALSE In addition: Warning message: In ns(as.numeric(Month), 4) : NAs introduced by coercion

ADA_model<- function(ADA_mutiple_model){ 
    lm(ADA ~ ns(as.numeric(Month), 4), data=ADA_mutiple_model) 
} 

ADA_mutiple_model <- ADA_mutiple_model %>% 
    mutate(model=map(data,ADA_model)) 

作爲我使用的代碼創建錯誤。

見量mod3下面來看看函數是什麼樣子

enter image description here

+1

你不能,如果有你的數據是'NA'使用'lm'。因此,錯誤信息很簡單:在'lm'中添加選項'na.rm = TRUE'。我建議你看看你的數據,以瞭解你的數據有什麼問題。 – jgadoury

+0

@jgadoury我不認爲'lm'有'na.rm'參數。你的意思是'na.action'參數嗎? – aosmith

+0

的說法是'na.omit = TRUE',我的錯誤 – jgadoury

回答

1

您的問題無關,與使用lm,但裏面splines::ns產生自然三次樣條B樣條基時。 很可能你的Month是一個字符變量,你不能強迫使用as.numeric


我剛查過你的附圖。圖中的x軸驗證了我所猜測的內容。您需要使用1:12 Month,而不是「JAN」,「FEB」等

+0

謝謝,這就是問題所在。我很奇怪,爲什麼那是因爲我能夠對這些早期的腳本 – user12081

+0

'''MOD1 < - 流明(median_ADA〜納秒(as.numeric(月),2),數據= Summary_model) 模2 < - 流明(median_ADA 〜納秒(as.numeric(月),3),數據= Summary_model) MOD3 < - LM(median_ADA〜納秒(as.numeric(月),4),數據= Summary_model) MOD4 < - LM(median_ADA〜納秒(as.numeric(Month),5),data = Summary_model) grid <-Summary_model%>%data_grid(Month = seq_range(as.numeric(Month),n = 50,expand = 0.1))%>% ())+ geom_point()+ geom_line(data = grid,color =「red」)+ data_predictions(mod1,mod2,mod3,mod4,.pred =「median_ADA」) ggplot(Summary_model,aes(Month,median_ADA) facet_wrap(〜model)''' – user12081