错误:缺少值和NaN';如果';na.rm';是假的

错误:缺少值和NaN';如果';na.rm';是假的,r,purrr,R,Purrr,尝试了#r4ds的多个模型章节,最后遇到了一条错误消息: 错误:缺少值,如果'na.rm'为FALSE,则不允许使用NaN 此外:警告信息: 在ns中(如.numeric(Month),4):强制引入的NAs 与 ADA_model当为自然三次样条曲线生成B样条曲线基时,您的问题与使用lm无关,而是在spline::ns内部很可能您的月份是一个字符变量,您不能将用作.numeric进行强制 我刚刚查看了你的附图。图中的x轴验证了我的猜测。您需要在月份使用1:12,而不是“一月”、“二月”等。如

尝试了#r4ds的多个模型章节,最后遇到了一条错误消息:

错误:缺少值,如果'na.rm'为FALSE,则不允许使用NaN 此外:警告信息: 在ns中(如.numeric(Month),4):强制引入的NAs


ADA_model当为自然三次样条曲线生成B样条曲线基时,您的问题与使用
lm
无关,而是在
spline::ns
内部很可能您的
月份
是一个字符变量
,您不能将
用作.numeric
进行强制



我刚刚查看了你的附图。图中的x轴验证了我的猜测。您需要在
月份使用1:12,而不是“一月”、“二月”等。

如果数据中存在
NA
,则不能使用
lm
。因此,错误消息很简单:在
lm
中添加选项
na.rm=TRUE
。我建议您也查看数据,以了解数据的错误。@jgadoury我认为
lm
没有
na.rm
参数。你是指
na.action
参数吗?参数是
na.omit=TRUE
,我的错误是啊,我到底在说什么,它是
na.action=na.omit
。这就是当我试图在不重复检查我的东西的情况下听起来聪明时会发生的事情。这是正确的论点,但问题出在我的函数上。谢谢,这就是问题所在。我想知道为什么会这样,因为我能够在脚本
mod1中实现这一点
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))