错误:缺少值和NaN';如果';na.rm';是假的
尝试了#r4ds的多个模型章节,最后遇到了一条错误消息: 错误:缺少值,如果'na.rm'为FALSE,则不允许使用NaN 此外:警告信息: 在ns中(如.numeric(Month),4):强制引入的NAs 与错误:缺少值和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,而不是“一月”、“二月”等。如
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))