[R] swapping with data.frame

Wolski wolski at molgen.mpg.de
Wed Jun 2 22:41:39 CEST 2004


Hi!

True. Randy Zelick wrote me today that it is not working. 
I asked him to send his observation to the list.

I bymyself was trying today to find a solution but its a subotimal one in comparsion with yours.

Sorry for the wrong solution

and
Thanks.


Eryk

*********** REPLY SEPARATOR  ***********

On 6/2/2004 at 10:30 PM Martin Maechler wrote:

>>>>>>>> "Eryk" == Eryk Wolski <wolski at molgen.mpg.de>
>>>>>>>>     on Tue, 01 Jun 2004 20:03:03 +0200 writes:
>>>
>>>    Eryk> Hi!  U can use.
>>>
>>>    Eryk> rbind(t1,t2,t3)
>>>
>>>yes, but not for getting a data frame!
>>>nor does give
>>>    as.data.frame( rbind(t1,t2,t3) )
>>>give the correct result {make use of  str(.)  to see this quickly}
>>>
>>>Correct (though not "extremely simple") is
>>>
>>>     do.call("rbind", lapply(list(t1,t2,t3), as.data.frame))
>>>
>>>
>>>> str(do.call("rbind", lapply(list(t1,t2,t3), as.data.frame)))
>>>`data.frame':	       3 obs. of  5 variables:
>>> $ fname   : Factor w/ 2 levels "animal1","animal2": 1 1 2
>>> $ testname: Factor w/ 2 levels "hyla","bufo": 1 2 1
>>> $ dspkr   : Factor w/ 2 levels "left","right": 1 1 2
>>> $ res1    : num  39.7 14.4 22.6
>>> $ res2    : num  15 56.1 11.8
>>>
>>>
>>>
>>>    Eryk> On 6/1/2004 at 10:55 AM Randy Zelick wrote:
>>>
>>>    >> Hi there,
>>>    >> 
>>>    >> I have some data which are convenient to enter as
>>>    >> lists. For example:
>>>    >> 
>>>    >>
>>>t1<-list(fname="animal1",testname="hyla",dspkr="left",res1=39.7,res2=15.0)
>>>    >>
>>>t2<-list(fname="animal1",testname="bufo",dspkr="left",res1=14.4,res2=56.1)
>>>    >>
>>>t3<-list(fname="animal2",testname="hyla",dspkr="right",res1=22.6,res2=11.8)
>>>    >> 
>>>    >> I would like to generate a dataframe, but *not* the way
>>>    >> this approach works...
>>>    >> 
>>>    >> fdf<-data.frame(t1,t2,t3)
>>>    >> 
>>>    >> fdf
>>>    >> 
>>>    >> fname testname dspkr res1 res2 fname testname dspkr res1
>>>    >> res2 ...  1 animal1 hyla left 39.7 15 animal1 bufo left
>>>    >> 14.4 56.1 ...
>>>    >> 
>>>    >> 
>>>    >> Instead, what I would like is:
>>>    >> 
>>>    >> fname testname dspkr res1 res2
>>>    >> 
>>>    >> t1 animal1 hyla left 39.7 15.0 t2 animal1 bufo left 14.4
>>>    >> 56.1 t3 animal2 hyla right 22.6 11.8
>>>    >> 
>>>    >> 
>>>    >> or this would be fine too...
>>>    >> 
>>>    >> x fname testname dspkr res1 res2
>>>    >> 
>>>    >> 1 t1 animal1 hyla left 39.7 15.0 2 t2 animal1 bufo left
>>>    >> 14.4 56.1 3 t3 animal2 hyla right 22.6 11.8
>>>    >> 
>>>    >> Is there a practical (hopefully simple) way to do this?
>>>    >> 
>>>    >> Thanks,
>>>    >> 
>>>    >> =Randy=
>>>
>>>______________________________________________
>>>R-help at stat.math.ethz.ch mailing list
>>>https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>>>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html



Dipl. bio-chem. Eryk Witold Wolski    @    MPI-Moleculare Genetic   
Ihnestrasse 63-73 14195 Berlin       'v'    
tel: 0049-30-83875219               /   \    
mail: wolski at molgen.mpg.de        ---W-W----    http://www.molgen.mpg.de/~wolski




More information about the R-help mailing list