2016-08-15 147 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