2012-10-25 17 views
5

これは本当に問題なのですが、データフレームにデータフレームのリストを追加して、リスト内のすべてのdata.framesを含む新しいリストを作成するにはどうすればよいですか?リストをリストに追加する

私の試みのいくつか:

> df <- data.frame(time=1:5) 
> df 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 
> innerlist <- list(df,df,df) 
> innerlist 
[[1]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[3]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

> outerlist <- list(df,innerlist) 
> outerlist 
[[1]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]] 
[[2]][[1]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]][[2]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]][[3]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 


> outerlist2 <- c(df,innerlist) 
> outerlist2 
$time 
[1] 1 2 3 4 5 

[[2]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[3]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[4]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

> outerlist3 <- cbind(df,innerlist) 
> outerlist3 
    time time time time 
1 1 1 1 1 
2 2 2 2 2 
3 3 3 3 3 
4 4 4 4 4 
5 5 5 5 5 

はすべてdf sが異なるデータフレームであることをふり。

私はinnnerlist、および4つのDFSとのリストを取得するには、好きにDFを追加したい:

> outerlistmagic <- magic(df, innerlist) 
> outerlistmagic 
[[1]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[3]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[4]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

答えて

4

あなたはdfは、リスト要素になりたい場合は、データのでlistでそれをラップする必要があります。フレームは内部的にリストです。例:

append(list(df), innerlist) 
c(list(df), innerlist) 
+0

ああ、スーパー、ありがとう!そして理由を説明したので、今私は理解しています。 –

4

認識されているように、cはリストを結合する正しい機能です。 data.frameもリストですが、cはdata.frame属性を削除し、ベクトルを含むリストにドロップします。これを別のリストにラップして保護することができます:

c(list(df),innerlist) 
[[1]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[2]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[3]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 

[[4]] 
    time 
1 1 
2 2 
3 3 
4 4 
5 5 
関連する問題