Извлеките узлы из объекта ns - PullRequest
1 голос
/ 17 февраля 2012
library(splines)
x <- runif(100000)
spline <- ns(x, df=5)

Как мне узнать, где находятся узлы в этом объекте позвоночника?

> spline ['knots']
[1] NA

str приближает меня к тому, что мне нужно, но я бы хотел иметь возможность извлечь вектор сплайнов, отформатировать его и распечатать в документе Sweave.

> str(sp)
 ns [1:117542, 1:5] 0.527 0.474 0.455 0.472 0.498 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:5] "1" "2" "3" "4" ...
 - attr(*, "degree")= num 3
 - attr(*, "knots")= Named num [1:4] 1.03 1.55 1.99 2.7
  ..- attr(*, "names")= chr [1:4] "20%" "40%" "60%" "80%"
 - attr(*, "Boundary.knots")= num [1:2] 0.0214 4.9999
 - attr(*, "intercept")= logi FALSE
 - attr(*, "class")= chr [1:3] "ns" "basis" "matrix"

1 Ответ

6 голосов
/ 17 февраля 2012

Ну, что-то вроде этого может определенно извлечь материал:

> attr(spline, "knots")
      20%       40%       60%       80% 
0.1966951 0.3973261 0.5982386 0.7993613 
...