Я сделал две сглаженные функциональные кривые, аппроксимированные B-сплайнами порядка 8 и 349 равноотстоящими узлами с 1971 по 2000 год. Теперь я хотел бы разделить эти функции на более короткие интервалы, например, каждый год, и вычислить полуметрики между этимифункции.Есть ли какая-либо функция для этой задачи в Rstudio?
Я пытался изменить rangeval в объекте fd, но в функции semimetric.basis (fd_1, fd_2, nderiv = 0) возникает ошибка
«Ошибка в bsplineS (evalarg, breaks, norder, nderiv, returnMatrix): узлы не увеличиваются».
basis <- create.bspline.basis(rangeval = c(1971, 2000),
nbasis = 355,
norder = 8)
Lfdobj_f <- int2Lfd(4)
Sm_f <- smooth.basisPar(argvals = seq(from = 1971, to = 2000,length = 349),
y = cbind(func_1, func_2),
fdobj = basis,
Lfdobj = Lfdobj_f,
lambda = 1e-9)
Sm_f[1, 0]$fd$basis$rangeval <- c(1971, 1972)
Sm_f[2, 0]$fd$basis$rangeval <- c(1971, 1972)
output <- semimetric.basis(Sm_f[1, 0]$fd, Sm_f[2, 0]$fd, nderiv = 0)
Я ожидал вывод действительного числа.