他のリストとデータフレームで構成される複雑なリストがあります。私は、このリストをデータフレームからのみ構成するように簡素化する必要があります。そのため、各第2レベルのリストを別々の第1レベルのデータフレームにする必要があります。ここでリストの複雑なリストをデータフレームのリストに変換する
が再現可能な例である:私は
l2<-list(dd,dd,dd)
l2
[[1]]
x y
1 1 4
2 2 5
3 3 6
[[2]]
x y
1 1 4
2 2 5
3 3 6
[[3]]
x y
1 1 4
2 2 5
3 3 6
を取得する必要があります
dd<-data.frame(x=1:3,y=4:6)
l1<-list(dd,list(dd,dd))
#original list
l1
[[1]]
x y
1 1 4
2 2 5
3 3 6
[[2]]
[[2]][[1]]
x y
1 1 4
2 2 5
3 3 6
[[2]][[2]]
x y
1 1 4
2 2 5
3 3 6
結果、私は機能unlist()
と引数recursive=FALSE
で試してみましたが、この場合には最初のレベルのデータフレームは、二つのベクトルに変換され、 。私は考えることができ
unlist(l1,recursive=FALSE)
$x
[1] 1 2 3
$y
[1] 4 5 6
[[3]]
x y
1 1 4
2 2 5
3 3 6
[[4]]
x y
1 1 4
2 2 5
3 3 6
ありがとう!私は反対の方向にすべての時間を考えていた - リストのリストを分割する方法。データフレームをデータフレームのリストに変換するアイデアは素晴らしいです。 –
'class(x)==" data.frame "を避け、代わりに' is.data.frame'を使用しようとします。 – shadow
ここでは何が問題なのかよく分かりません。あなたは精緻化できますか? 'is.data.frame'は内部的に' inherits'を使い、 'data.frame'から派生したオブジェクトに対してTRUEを与えます。例えば 'data.table'のように。それが望ましい場合は、 '継承'を使う方が良いです。 – Arun