我想在使用Tensor积的gam函数中手动设置一些节点位置。
举例来说:
set.seed(0)
n <- 500
x <- runif(n)
z <- runif(n)
y <- runif(n)
gam(y ~ te(x, z), knots = list(x = c(0.2, 0.5, 0.8), y=c(0.2, 0.5, 0.8)))
字符串
但我有这个错误:
Error in smooth.construct.cr.smooth.spec(object$margin[[i]], dat, knt) :
number of supplied knots != k for a cr smooth
型
我试着在Tensor中增加一个k值,但误差仍然是一样的我如何解决这个问题?谢谢你的帮助。
1条答案
按热度按时间i86rm4rw1#
通过
knots
指定的节点位置和基函数k
的数量必须兼容。在您的示例中,默认值用于k
,IIRC将k = c(5,5)
用于2dTensor积。如果要使用指定的结位置,则需要将
k
设置为低于此值:字符串