?predict.lm says: "predict.lm produces predicted values, obtained by evaluating the regression function in the frame newdata (which defaults to model.frame(object)). "
model.frame(fit) is: 1 1.37095845 -0.30663859 2 -0.56469817 -1.78130843 4 0.63286260 1.21467470 6 -0.10612452 -0.43046913 7 1.51152200 -0.25726938 8 -0.09465904 -1.76316309 9 2.01842371 0.46009735 10 -0.06271410 -0.63999488 11 1.30486965 0.45545012 12 2.28664539 0.70483734 13 -1.38886070 1.03510352 16 0.63595040 -1.71700868 17 -0.28425292 -0.78445901 18 -2.65645542 -0.85090759 19 -2.44046693 -2.41420765 20 1.32011335 0.03612261 i.e. only the rows that are used to fit the model are present. Cheers, Bert On Fri, Nov 19, 2021 at 6:12 PM Rolf Turner <r.tur...@auckland.ac.nz> wrote: > > > Consider the following toy example: > > set.seed(42) > y <- rnorm(20) > x <- rnorm(20) > y[c(3,5,14,15)] <- NA > fit <- lm(y~x) > predict(fit) > > This for some reason, which escapes me, does not provide predicted > values when the response/dependent variable is missing, despite > there being no missing values in the predictor/independent variable. > > I can get predicted values for all values of x if I set > > ddd <- data.frame(y=y,x=x) > > and execute > > predict(fit,newdata=ddd) > > Note that y is (unnecessarily) included in ddd. I thought that > predict() might omit any rows of the data in which there are missing > values, but not so. > > OK. I have a workaround which gives me the predicted values that I > want, but: > > (a) Why does predict() behave in this way? It makes no sense to me, > but I figure there *must* be a rationale. > > (b) Is there a way of getting predict() to behave as I would like, by > specifying an appropriate value for na.action? I could not find such > an appropriate value. > > Thanks for any enlightenment. > > cheers, > > Rolf Turner > > -- > Honorary Research Fellow > Department of Statistics > University of Auckland > Phone: +64-9-373-7599 ext. 88276 > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.