Aliases: poly polym predict.poly makepredictcall.poly
Keywords: math
### ** Examples od <- options(digits = 3) # avoid too much visual clutter (z <- poly(1:10, 3))
1 2 3 [1,] -0.495 0.522 -0.453 [2,] -0.385 0.174 0.151 [3,] -0.275 -0.087 0.378 [4,] -0.165 -0.261 0.335 [5,] -0.055 -0.348 0.130 [6,] 0.055 -0.348 -0.130 [7,] 0.165 -0.261 -0.335 [8,] 0.275 -0.087 -0.378 [9,] 0.385 0.174 -0.151 [10,] 0.495 0.522 0.453 attr(,"coefs") attr(,"coefs")$alpha [1] 5.5 5.5 5.5 attr(,"coefs")$norm2 [1] 1.0 10.0 82.5 528.0 3088.8 attr(,"degree") [1] 1 2 3 attr(,"class") [1] "poly" "matrix"
predict(z, seq(2, 4, 0.5))
1 2 3 [1,] -0.385 0.1741 0.151 [2,] -0.330 0.0326 0.305 [3,] -0.275 -0.0870 0.378 [4,] -0.220 -0.1850 0.383 [5,] -0.165 -0.2611 0.335
zapsmall(poly(seq(4, 6, 0.5), 3, coefs = attr(z, "coefs")))
1 2 3 [1,] -0.165 -0.261 0.335 [2,] -0.110 -0.316 0.246 [3,] -0.055 -0.348 0.130 [4,] 0.000 -0.359 0.000 [5,] 0.055 -0.348 -0.130 attr(,"coefs") attr(,"coefs")$alpha [1] 5.5 5.5 5.5 attr(,"coefs")$norm2 [1] 1.0 10.0 82.5 528.0 3088.8 attr(,"degree") [1] 1 2 3 attr(,"class") [1] "poly" "matrix"
zm <- zapsmall(polym ( 1:4, c(1, 4:6), degree = 3)) # or just poly(): (z1 <- zapsmall(poly(cbind(1:4, c(1, 4:6)), degree = 3)))
1.0 2.0 3.0 0.1 1.1 2.1 0.2 1.2 0.3 [1,] -0.671 0.5 -0.224 -0.802 0.538 -0.401 0.323 -0.217 -0.053 [2,] -0.224 -0.5 0.671 0.000 0.000 0.000 -0.688 0.154 0.526 [3,] 0.224 -0.5 -0.671 0.267 0.060 -0.134 -0.239 -0.053 -0.788 [4,] 0.671 0.5 0.224 0.535 0.359 0.267 0.604 0.405 0.315 attr(,"degree") [1] 1 2 3 1 2 3 2 3 3 attr(,"coefs") attr(,"coefs")[[1]] attr(,"coefs")[[1]]$alpha [1] 2.5 2.5 2.5 attr(,"coefs")[[1]]$norm2 [1] 1.0 4.0 5.0 4.0 1.8 attr(,"coefs")[[2]] attr(,"coefs")[[2]]$alpha [1] 4.00 2.71 4.47 attr(,"coefs")[[2]]$norm2 [1] 1.00 4.00 14.00 25.86 9.94 attr(,"class") [1] "poly" "matrix"
## they are the same : stopifnot(all.equal(zm, z1, tolerance = 1e-15)) ## poly(<matrix>, df) --- used to fail till July 14 (vive la France!), 2017: m2 <- cbind(1:4, c(1, 4:6)) pm2 <- zapsmall(poly(m2, 3)) # "unnamed degree = 3" stopifnot(all.equal(pm2, zm, tolerance = 1e-15)) options(od)