[Rd] Bug in poly() (PR#11243)
russell-lenth at uiowa.edu
russell-lenth at uiowa.edu
Fri May 16 00:55:18 CEST 2008
I don't understand why this is a bug in usage. Is it because the 2nd
argument is not named? I get the same behavior if I do name it:
=====
[R version 2.6.2 (2008-02-08), Windows XP Pro]
R> x = rep(1:4,3)
R> y = (1:12)^1.5
R> lm(y ~ poly(x, degree=10))
Call:
lm(formula = y ~ poly(x, degree = 10))
Coefficients:
(Intercept) poly(x, degree = 10)1 poly(x, degree = 10)2
18.39370 14.21385 0.58588
poly(x, degree = 10)3 poly(x, degree = 10)4 poly(x, degree = 10)5
-0.01770 3.34767 -11.46388
poly(x, degree = 10)6 poly(x, degree = 10)7 poly(x, degree = 10)8
0.51178 0.44296 12.47199
poly(x, degree = 10)9 poly(x, degree = 10)10
-28.38972 18.47439
=====
Is there a case where we *would* want a 10th degree polynomial fitted to
only 4 distinct x values? A simple modification [changing 'length(x)'
to 'length(unique(x))' in 2 places] seems to fix this:
=====
R> mypoly
...
if (raw) {
if (degree >= length(unique(x)))
stop("'degree' must be less than number of points")
...
if (is.null(coefs)) {
if (degree >= length(unique(x)))
stop("'degree' must be less than number of points")
...
R> lm(y ~ mypoly(x, degree=10))
Error in mypoly(x, degree = 10) :
'degree' must be less than number of points
=====
Russ
--
Russell V. Lenth, Professor
Department of Statistics
& Actuarial Science (319)335-0814 FAX (319)335-3017
The University of Iowa russell-lenth at uiowa.edu
Iowa City, IA 52242 USA http://www.stat.uiowa.edu/~rlenth/
More information about the R-devel
mailing list