I have a problem with my R code about a multiple linear regression. First, I try to use the gam function but this gives me an error. Here is the code:
install.packages("nlme")
library("mgcv")
library("ggplot2")
#Import dataset
setwd("/Users/Sarah/Documents/Master T&O/Master 1/Statistics IV/Assignment 2 ")
weight_data = read.csv("WeightLossGroup190.csv", sep = "", dec = ".", header = TRUE)
#Name of used data
weight <- weight_data$weight
date <- weight_data$date
dayNr <- weight_data$dayNumber
time <- weight_data$time
#Check linearity
gam1 <- gam(as.numeric(weight_data$weight) ~ s(as.numeric(weight_data$dayNumber)) + s(as.numeric(weight_data$time)))
summary(gam1)
plot.gam(gam1, se = FALSE, rug = TRUE, all.terms = TRUE)
This gives me the following error:
Error in smooth.construct.tp.smooth.spec(object, dk$data, dk$knots) :
A term has fewer unique covariate combinations than specified maximum degrees of freedom
Does anyone have an idea of what I'm doing wrong?
kthan the default in at least one of the smoothers. Also, never use$in formulas.gamhas adataargument for a reason. Make sure that you variables are numeric before you pass them togam. - Rolandkis an argument ofsand not ofgam. - Roland