On Wed, Feb 3, 2010 at 12:29 PM, Steve Lianoglou
<mailinglist.honey...@gmail.com> wrote:
> Hi,
>
> On Wed, Feb 3, 2010 at 1:19 PM, Peng Yu <pengyu...@gmail.com> wrote:
>> Suppose that I have the following list of lists of frames 'root'
>> (let's call it a 'tree' of frames). I want to flatten it to be a list
>> of frames. However, if I unlist(root), it will flatten the frames as
>> well. Is there a simply way to flatten the tree to certain depth?
>>
>> aframe1=data.frame(x=1:3,y=1:3)
>> aframe2=data.frame(u=7:9,v=11:13)
>> aframe3=data.frame(p=3:5,q=6:8)
>>
>> main1=list(sub1=aframe1, sub2=aframe2)
>> main2=list(sub3=aframe3)
>>
>> root=list(main1=main1, main2=main2)
>>
>> str(root)
>> unlist(root)
>
> Does `unlist(root, recursive=FALSE)` get you what you want?
>
> R> unlist(root, recursive=FALSE)
> $main1.sub1
>  x y
> 1 1 1
> 2 2 2
> 3 3 3
>
> $main1.sub2
>  u  v
> 1 7 11
> 2 8 12
> 3 9 13
>
> $main2.sub3
>  p q
> 1 3 6
> 2 4 7
> 3 5 8

My example has only 2 levels.

But my questions is not limited to a particular level. The
nonrecursive version flatten the first level. But what if the tree is
of n level and I want to flatten it to m levels (where m < n)?

______________________________________________
R-help@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.

Reply via email to