Reputation: 30301
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"
Upvotes: 1
Views: 2042
Reputation: 9324
Well, something like this can definitely extract the stuff:
> attr(spline, "knots")
20% 40% 60% 80%
0.1966951 0.3973261 0.5982386 0.7993613
Upvotes: 7