# NOT RUN {
# Libraries
library(fda)
# Loading data
data("daily")
# Creating functional data
nbasis = 65
temp_data = array(dim = c(nbasis, 35, 1))
tempbasis65 = create.fourier.basis(c(0,365), nbasis)
tempbasis7 = create.bspline.basis(c(0,365), 7, norder = 4)
timepts = seq(1, 365, 1)
temp_fd = Data2fd(timepts, daily$tempav, tempbasis65)
prec_fd = Data2fd(timepts, daily$precav, tempbasis7)
prec_fd$coefs = scale(prec_fd$coefs)
# Data set up
temp_data[,,1] = temp_fd$coefs
resp_mat = prec_fd$coefs
# Non functional covariate
weather_scalar = data.frame(total_prec = apply(daily$precav, 2, sum))
# Setting up data to pass in to function
weather_data_full <- array(dim = c(nbasis, ncol(temp_data), 1))
weather_data_full[,,1] = temp_data
scalar_full = data.frame(weather_scalar[,1])
total_prec = apply(daily$precav, 2, mean)
# cross-validating
cv_example <- fnn.cv(nfolds = 5,
resp = total_prec,
func_cov = weather_data_full,
scalar_cov = scalar_full,
domain_range = list(c(1, 365)),
learn_rate = 0.001)
# }
# NOT RUN {
# }
Run the code above in your browser using DataCamp Workspace