當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R cSplineDes 評估循環 B 樣條基礎


R語言 cSplineDes 位於 mgcv 包(package)。

說明

使用splineDesign 設置循環B-spline 基礎的模型矩陣。

用法

cSplineDes(x, knots, ord = 4, derivs=0)

參數

x

平滑的協變量值。

knots

結點位置:這些位置的範圍必須包含所有數據。

ord

基礎的順序。 4是三次樣條基礎。必須 >1。

derivs

要評估的樣條曲線的導數階數,介於 0 和 ord -1 之間。回收到 x 的長度。

細節

該例程是一個設置 B-spline 基的包裝器,其中基函數在第一個和最後一個結位置處包裝。

具有 length(x) 行和 length(knots)-1 列的矩陣。

例子

 require(mgcv)
 ## create some x's and knots...
 n <- 200
 x <- 0:(n-1)/(n-1);k<- 0:5/5
 X <- cSplineDes(x,k) ## cyclic spline design matrix
 ## plot evaluated basis functions...
 plot(x,X[,1],type="l"); for (i in 2:5) lines(x,X[,i],col=i)
 ## check that the ends match up....
 ee <- X[1,]-X[n,];ee 
 tol <- .Machine$double.eps^.75
 if (all.equal(ee,ee*0,tolerance=tol)!=TRUE) 
   stop("cyclic spline ends don't match!")
 
 ## similar with uneven data spacing...
 x <- sort(runif(n)) + 1 ## sorting just makes end checking easy
 k <- seq(min(x),max(x),length=8) ## create knots
 X <- cSplineDes(x,k) ## get cyclic spline model matrix  
 plot(x,X[,1],type="l"); for (i in 2:ncol(X)) lines(x,X[,i],col=i)
 ee <- X[1,]-X[n,];ee ## do ends match??
 tol <- .Machine$double.eps^.75
 if (all.equal(ee,ee*0,tolerance=tol)!=TRUE) 
   stop("cyclic spline ends don't match!")

作者

Simon N. Wood simon.wood@r-project.org

也可以看看

cyclic.p.spline

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Evaluate cyclic B spline basis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。