# Create two functional predictors
set.seed(42)
n <- 50
m <- 30
t_grid <- seq(0, 1, length.out = m)
X1 <- matrix(0, n, m)
X2 <- matrix(0, n, m)
for (i in 1:n) {
X1[i, ] <- sin(2 * pi * t_grid) * i/n + rnorm(m, sd = 0.1)
X2[i, ] <- cos(2 * pi * t_grid) * i/n + rnorm(m, sd = 0.1)
}
y <- rowMeans(X1) + 0.5 * rowMeans(X2) + rnorm(n, sd = 0.1)
fd1 <- fdata(X1, argvals = t_grid)
fd2 <- fdata(X2, argvals = t_grid)
# Fit with equal weights
fit1 <- fregre.np.multi(list(fd1, fd2), y)
# Fit with cross-validated weights
fit2 <- fregre.np.multi(list(fd1, fd2), y, weights = "cv")
Run the code above in your browser using DataLab