[R] offlist Re: Svy function doesn't work nested in user-defined function
David Winsemius
dwinsemius at comcast.net
Thu May 20 22:44:58 CEST 2010
On May 20, 2010, at 4:32 PM, David Winsemius wrote:
>
> On May 20, 2010, at 11:24 AM, Sabatier, Jennifer F. (CDC/OID/
> NCHHSTP) wrote:
>
>>
>> Hi R-help,
>>
>> I posted about this late yesterday but got no response. I may have
>> put
>> TMI in the original request. Not to mention I couldn't cut and paste
>> yesterday because I was working R off a non-network computer while
>> asking for help on a network computer.
>>
>>
>> Essentially, I have this user-defined function:
>>
>> test <- function(X){
>>
>>
>> chisq <- svychisq(~X + SEX, design=audit,
>
> Did you really have a variable name "X" inside the object that you
> are giving a temporary name of "X" to. Seems confusing if that were
> your choice.
>
>> statisic="adjWald", round=4)
>>
>> }
>>
>> test(con)
>>
>
> I do not know the answer, but I'm not sure that anyone including
> Lumley could answer it with the proffered information:
>
> Perhaps you should include the code used to create "audit" as well
> as the results of str() on the data argument to design when audit
> was created. I am guessing that "SEX" is not available inside the
> function and that you should have written:
>
> test <- function(Z){
> chisq <- svychisq(~X + SEX, design=Z,
> statistic="adjWald", round=4)
>
> }
Oh, heck. Forgot to trim the address list. Looking at this again, I
think I see the OP's intent better. I still do not have the answer,
but believe the OP needs to construct a valid formula object if she
intends to pass only a column name to her function. Perhaps something
along the lines of:
test <- function(Z){
fmla <- as.formula( paste(" ~ ", paste(X, "SEX", collapse=
"+"))))
chisq <- svychisq( fmla, design=audit,
statistic="adjWald", round=4)
}
test(con)
>
>
> --
> David.
>
>
>>
>>
>> "con" is a data variable in my design object audit.
>>
>> When I just run:
>>
>> chisq <- svychisq(~X + SEX, design=audit, statisic="adjWald",
>> round=4)
>>
>> It works just fine.
>>
>> It's only when it's nested in the function test() that it falls
>> apart.
>>
>> I get this error:
>>
>> Error in `[.data.frame`(design$variables, , as.character(rows)) :
>> undefined columns selected
>>
>>
>> How can I solve this problem?
>>
>> Thanks,
>>
>> Jen (obviously a new R-user, as of late 2009)
>>
>> ______________________________________________
>> 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.
>
> David Winsemius, MD
> West Hartford, CT
>
> ______________________________________________
> 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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list