On 4 May 2023, at 10:26, Duncan Murdoch <murdoch.duncan at 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.