当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。