[R] Determining response variable in a formula

ronggui 0034058 at fudan.edu.cn
Tue Jul 12 17:00:33 CEST 2005


is it what you want?
>dat<-data.frame(x=rnorm(10),y=rnorm(10),z=rnorm(10))
> my.form <- as.formula(y ~ x + z)
> my.form
y ~ x + z
> m<-model.frame(my.form,data=dat)
> model.extract(m,"response")
         1          2          3          4          5          6          7 
-0.3434826  1.0145622 -0.4749584  0.4018080 -0.3039126 -0.8180650  0.5455521 
         8          9         10 
 1.1460328  0.8038568  1.1092655 

======= 2005-07-12 22:43:33 ÄúÔÚÀ´ÐÅÖÐÐ´µÀ£º=======

>I have a formula from which I want to deduce the name of the response
>variable. One way of doing so is as follows:
>
>> my.form <- as.formula("y ~ x + z")
>> all.vars(my.form)[1]
>[1] "y"
>> 
>
>Is there a better way and/or preferrred method of determining "y" from
>my.form than this one? In messing around with terms, I came up with:
>
>> all.vars(terms(my.form))[attr(terms(my.form), "response")]
>[1] "y"
>> 
>
>But that seems too ugly to be best.
>
>Thanks,
>
>Dave Kane
>
>> R.version
>         _                
>platform i686-pc-linux-gnu
>arch     i686             
>os       linux-gnu        
>system   i686, linux-gnu  
>status                    
>major    2                
>minor    1.0              
>year     2005             
>month    04               
>day      18               
>language R                
>>
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

= = = = = = = = = = = = = = = = = = = =
			


 

2005-07-12

------
Deparment of Sociology
Fudan University

Blog:http://sociology.yculblog.com




More information about the R-help mailing list