Others know this subject much better than I do, and you should ignore these remarks if you get a more authoritative reply sooner, but in the interest of getting you an answer now, I'll expose my ignorance on this subject: First, if you have access to a copy of Venables and Ripley, S Programming, I would read about "assign" there (and all other documentation you can find).

I'm guessing that "gml" probably uses "get" to find the weights and can't find them because it does not look in the frame of the calling function.

To get around this, try an "assign" something like the following before your call to "glm":

assign("data", data)

I'm not certain this will work, but I've had similar problems in S-Plus and worked around them using assign.

I don't have time to work an example now, but if this does not fix your problem, you might experiment with the "assign" arguments until you find something that works. I don't like being too bold with "assign", because I don't understand what it does, and it could be just a little dangerous -- like overwriting a library or something.

Best Wishes,
Spencer Graves

ZABALZA-MEZGHANI Isabelle wrote:
Hello,

I want to call glm inside a function. In the first lines of code I build the
weights, the formula, ... and then I call glm with the following command:
    glm(formularesp, data=data, family=familyresp,
weights=eval(data$weights)

My problem is that the fitting proccess is performed just like if
weights=NULL, even if my weights are not equals to 1. I've performed some
return() command before this glm call to check the value of each argument,
and everything seems OK.

Please, help me to understand why the code bypass my weighting instruction.

Regards

Isabelle

______________________________________________
[EMAIL PROTECTED] mailing list
http://www.stat.math.ethz.ch/mailman/listinfo/r-help
______________________________________________
[EMAIL PROTECTED] mailing list
http://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to