[R] quickly extract response from formula

Andreas Leha andreas.leha at med.uni-goettingen.de
Sat Nov 2 00:40:48 CET 2013


William Dunlap <wdunlap at tibco.com> writes:

> You can bullet-proof it a bit by making sure that length(formula)==3
> before assuming that formula[[2]] is the response.   If length(formula)==2
> then there is no response term, only predictor terms.  E.g., replace
>    resp <- frm[[2]]
> with
>    resp <- if (length(frm)==3) frm[[2]] else NULL
> (or call stop(), or warning(), ...)

Will do.  Thanks.

- Andreas

>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
>> Of Andreas Leha
>> Sent: Friday, November 01, 2013 2:50 PM
>> To: r-help at stat.math.ethz.ch
>> Subject: Re: [R] quickly extract response from formula
>> 
>> Hi David,
>> 
>> thanks for your quick answer!
>> 
>> David Winsemius <dwinsemius at comcast.net> writes:
>> 
>> > On Oct 31, 2013, at 1:27 PM, Andreas Leha wrote:
>> >
>> >> Hi all,
>> >>
>> >> what is the recommended way to quickly (and without much burden on the
>> >> memory) extract the response from a formula?
>> >
>> > If you want its expression value its just form[[2]]
>> >
>> > If you wnat it evaluated in the environment of a dataframe then this should be fairly
>> efficient:
>> >
>> > x <- stats::runif(20)
>> > y <- stats::runif(20)
>> > dfrm <- data.frame(x=x,y=y)
>> > extractResponse <- function(frm, dat) { resp <- frm[[2]]; print(resp) # that's optional
>> >                                          fdat <- eval(resp,
>> >                                          envir=dat); return(fdat) }
>> 
>> This is what I'll be using.  Thanks again!
>> 
>> [...]
>> 
>> Regards,
>> Andreas
>> 
>> ______________________________________________
>> 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.



More information about the R-help mailing list