[R] coef(summary) and plyr

David Winsemius dwinsemius at comcast.net
Mon Aug 9 16:29:02 CEST 2010


If you look at the output (as I did)  you should see that despite  
whatever expectations you have developed regarding plyr, that it did  
not produce a grouping variable:

 > ldply(dl, function(x) coef(summary(x)) )
    fac    Estimate Std. Error     t value     Pr(>|t|)
1    0  -0.3563418  0.1438322   -2.477483 1.820555e-02
2    1   0.9197772  0.1525900    6.027768 7.097623e-07
3    2   3.0481679  0.1331307   22.896050 1.197920e-22
4    0 -18.7726473  0.1281064 -146.539553 2.125848e-50
5    1  -0.2961841  0.1885210   -1.571093 1.273942e-01
6    2   1.2846496  0.1833394    7.006946 1.277086e-07
7    0   2.9664816  0.1737222   17.076010 2.448612e-16
8    1 -18.7265068  0.2044723  -91.584567 3.048491e-36
9    2   0.3993073  0.1979713    2.016996 5.455569e-02
10   0   0.7657945  0.2477459    3.091048 4.846678e-03
11   1   3.0365005  0.1731814   17.533641 1.470033e-15
12   2 -19.2140081  0.1882448 -102.069256 2.741417e-34
Warning message:
In data.frame(..., check.names = FALSE) :
   row names were found from a short variable and have been discarded

-- 
David


On Aug 9, 2010, at 10:11 AM, moleps wrote:

> ldply doesnt need a grouping variable as far as I understand the  
> command..
>
> "Description
>
> For each element of a list, apply function then combine results into  
> a data frame
>
> Usage
>
> ldply(.data, .fun = NULL, ..., .progress = "none")"
>
>
> regards,
>
> M
>
>
> On 9. aug. 2010, at 15.33, David Winsemius wrote:
>
>>
>> On Aug 9, 2010, at 7:51 AM, moleps wrote:
>>
>>> Dear all,
>>>
>>> I´m having trouble getting a list of regression variables back  
>>> into a dataframe.
>>>
>>> mydf <- data.frame(x1=rnorm(100), x2=rnorm(100), x3=rnorm(100))
>>>
>>> mydf$fac<-factor(sample((0:2),replace=T,100))
>>>
>>> mydf$y<- mydf$x1+0.01+mydf$x2*3-mydf$x3*19+rnorm(100)
>>>
>>> dlply(mydf,.(fac),function(df) lm(y~x1+x2+x3,data=df))->dl
>>>
>>> here I´d like to use
>>>
>>> ldply(dl,coef(summary)) or something similar but I cant figure it  
>>> out...
>>
>> dfdl <- ldply(dl, function(x) coef(summary(x)) )
>>
>> Doesn't create a grouping variable, so:
>>
>> dfdl$group=rep(0:2, each=4)
>>
>>
>> David Winsemius, MD
>> West Hartford, CT
>>
>

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list