> On 4 May 2023, at 10:26, Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> 
> On 04/05/2023 4:05 a.m., Adelchi Azzalini via R-help wrote:
>> Hi. There must be something about the use of update() which I do not grasp,
>> as the next exercise indicates.
>> Suppose that obj is an object returned by a call to lm() or glm().
>> Next, a new variable xf is constructed using the same dataframe used
>> for producing obj. Then
>> obj$data <- cbind(obj$data, xf=xf)
>> new.obj <- update(obj, . ~ . + xf)
>> generates
>> Error in eval(predvars, data, env) : object 'xf' not found
>> Could somebody explain what I got wrong, and how to fix it?
> 
> I don't think you should be modifying the obj$data element:  as far as I can 
> see, it's not used during the update, which will just re-evaluate the 
> original call to glm().  So you should modify the dataframe that you passed 
> in when creating obj.
> 

Thanks, Duncan. What you indicate is surely the ideal route. Unfortunately, in 
my case this is not feasible, because the construction of xf and the update 
call are within an iterative procedure where xf is changed at each iteration, 
so that the steps 

obj$data <- cbind(obj$data, xf=xf)
new.obj <- update(obj, . ~ . + xf)
 
must be repeated hundreds of times, each with a different xf.

Adelchi

______________________________________________
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.

Reply via email to