Question

library(splines)
x <- runif(100000)
spline <- ns(x, df=5)

How do I tell where the knots are in this spine object?

> spline ['knots']
[1] NA

str gets me close to what I need, but I'd like to be able to extract the vector of splines, format it, and print it in an Sweave document.

> 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"
Was it helpful?

Solution

Well, something like this can definitely extract the stuff:

> attr(spline, "knots")
      20%       40%       60%       80% 
0.1966951 0.3973261 0.5982386 0.7993613 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top