predict.glm
Maurice,
The 'newdata' argument should be a data.frame with the
same names as used for your predictors in the glm formula.
For the data you quote below (after fixing the missing y1),
try:
yhat <- predict(reg1, newdata = data.frame(x1 = x2))
length(yhat)
[1] 200
A careful reading of ?predict would have told you that:
"newdata optionally, a data frame in which to look for
variables with which to predict."
If that is not your problem, perhaps you could give an
example with data and code that illustrates your problem.
-Peter Ehlers
Maurice Charbit wrote:
Hi, See below I reply your message for <https://stat.ethz.ch/pipermail/r-help/2008-April/160966.html>[R] predict.glm & newdata posted on Fri Apr 4 21:02:24 CEST 2008 You say it ##works fine but it does not: if you look at the length of yhat2, you will find 100 and not 200 as expected. In fact predict(reg1, data=x2) gives the same results as predict(reg1). So I am still looking for a solution of this problem. best regards Maurice =========== Hi, could it be the "newdata" argument? When I run predict with the newdata argument, I get an error message - a different one though. The second reason might be that your dataset is named df, which is defined as a function an may produce problems. Try renaming the dataset. yhat=predict(reg1,newdata=x2) x1=seq(1:100) r.norm1=rnorm(100,0,20) x1=r.norm1+x1 x2=x1*2 r.norm2=rnorm(200,0,20) x2=r.norm2+x2 reg1=glm(y1~x1,binomial) yhat=predict(reg1) ##prediction works fine yhat=predict(reg1,newdata=x2) ##gives error message because of "newdata"
Error in eval(predvars, data, env) :
numeric 'envir' arg not of length one
yhat=predict(reg1,data=x2) ##works fine
##using offset
ofst=rep(0.5,100)
reg1=glm(y1~x1,binomial,offset=ofst)
yhat=predict(reg1)
yhat1=predict(reg1,newdata=x2) ##gives error message
yhat2=predict(reg1,data=x2) ##works fine
% =================================================
% Maurice CHARBIT
% Ecole Nationale Sup?rieure des T?l?communications
% D?partement TSI
% 37,39 rue Dareau, pi?ce A321
% 75634 - PARIS cedex 13 FRANCE
% email: maurice.charbit at telecom-paristech.fr
% Fax: (33) (0)1 45 81 71 44
% Phone: (33) (0)1 45 81 71 78
%==================================================|
[[alternative HTML version deleted]]
------------------------------------------------------------------------
______________________________________________ R-help at r-project.org mailing list 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.
Peter Ehlers University of Calgary 403.202.3921