[R] Multiple left hand side variables in a formula

Gabor Grothendieck ggrothendieck at gmail.com
Sat Mar 2 02:15:19 CET 2013


> Gabor Grothendieck wrote
>> On Fri, Mar 1, 2013 at 7:16 PM, Frank Harrell <
>
>> f.harrell@
>
>> > wrote:
>>> The lattice package uses special logic to allow for multiple
>>> left-hand-side
>>> variables in a formula, e.g. y1 + y2 ~ x.  Is there an elegant way to do
>>> this outside of lattice?  I'm trying to implement a data summarization
>>> function that logically takes multiple dependent variables.  The usual
>>> invocation of model.frame( ) causes R to try to do arithmetic addition to
>>> create a single dependent variable.
>>>
>>
>> Try:
>>
>> lm( cbind(Sepal.Length, Sepal.Width) ~., iris)
>>

On Fri, Mar 1, 2013 at 8:02 PM, Frank Harrell <f.harrell at vanderbilt.edu> wrote:
> Thanks for your reply Gabor.  That doesn't handle a mixture of factor and
> numeric variables on the left hand side.
> Frank
>

It can handle 2 level factors

   lm(cbind(Sepal.Length, setosa = Species == "setosa") ~ ., iris)

and more with some manual effort:

   lm(cbind(virginica = Species == "virginica", setosa = Species ==
"setosa") ~ ., iris)

Typically you don't see more than that as a dependent variable.  Do
you actually need more?

--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com



More information about the R-help mailing list