Dear R experts, I am observing undesired behavior of predict(fit, newdata), in case when fit object is produced by lm() involving a poly(). Here is how to reproduce: x <- c(1:10) y <- sin(c(1:10)) fit <- lm(formula=y~poly(x, 5, raw=TRUE)) predict(fit, newdata=data.frame(x=c(1:10))) ## this works predict(fit, newdata=data.frame(x=c(1:1))) ## this is broken, error below Error in poly(x, 5, raw = TRUE) : 'degree' must be less than number of unique points The problem is in poly(): if (raw) { if (degree >= length(unique(x))) stop("'degree' must be less than number of unique points") This assertion is only warranted when poly is used to fit a model. But it is unnecessary and undesired if poly() is used to obtain prediction. Or am I missing something? Why I would want to obtain model prediction for a single point is another story. I am filling a matrix of model values one element at a time, so that the matrix can then be given to persp() (I am fitting a two-variable model). Alex Stolpovsky ----------------------------------------- This transmission may contain information that is privileged, confidential, legally privileged, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. [[alternative HTML version deleted]]