x <- 0:24
y <- c(1.0,1.0,1.4,1.1,1.0,1.0,4.0,9.0,13.0,
13.4,12.8,13.1,13.0,14.0,13.0,13.5,
10.0,2.0,3.0,2.5,2.5,2.5,3.0,4.0,3.5)
if(require(DierckxSpline)){
z1 <- curfit(x, y, method = "ss", s = 0, k = 3)
knots1 <- knots(z1)
knots1All <- knots(z1, interior=FALSE) # to see all knots
#
fda1 <- dierckx2fd(z1)
fdaKnots <- knots(fda1)
fdaKnotsA <- knots(fda1, interior=FALSE)
stopifnot(all.equal(knots1, fdaKnots))
stopifnot(all.equal(knots1All, fdaKnotsA))
}
# knots.fdSmooth
girlGrowthSm <- with(growth, smooth.basisPar(argvals=age, y=hgtf,
lambda=0.1)$fd)
girlKnots.fdSm <- knots(girlGrowthSm)
girlKnots.fdSmA <- knots(girlGrowthSm, interior=FALSE)
stopifnot(all.equal(girlKnots.fdSm, girlKnots.fdSmA[5:33]))
girlKnots.fd <- knots(girlGrowthSm)
girlKnots.fdA <- knots(girlGrowthSm, interior=FALSE)
stopifnot(all.equal(girlKnots.fdSm, girlKnots.fd))
stopifnot(all.equal(girlKnots.fdSmA, girlKnots.fdA))
Run the code above in your browser using DataLab