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
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> http://www.stat.math.ethz.ch/mailman/listinfo/r-help