Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: missing values and NaN's not allowed if 'na.rm' is FALSE

Tags:

r

purrr

Trying out multiple models chapter of #r4ds and ran into an error message at the end:

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

with

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)) 

as the code I used that creates the error.

See mod3 below to see what the function looks like

enter image description here

like image 520
user12081 Avatar asked Oct 18 '22 03:10

user12081


1 Answers

Your problem has nothing to do with the use of lm, but inside splines::ns when generating B-spline basis for natural cubic splines. Very likely your Month is a character variable, and you can not use as.numeric for coercing.


I just checked your attached figure. The x-axis in the plots verifies what I guessed. You need to use 1:12 for Month, not "JAN", "FEB", etc.

like image 142
Zheyuan Li Avatar answered Oct 21 '22 04:10

Zheyuan Li