2016-07-27 16 views
0

リストのリストlist_of_listsがあります。データフレームと異なる長さとタイプのサブリストのリストR

各sub_listは次のように、理論的に異なる長さを持つことができます。

list_of_lists[[1]] 
$id = 1 
$variable1 = "8" 
$variable2 = 8 12.2 

と...

list_of_lists[[2]] 
$id = 2 
$variable1 = "4" 
$variable2 = 2 2.2 12.1 200.1 

私はlist_of_listsが長いデータフレームに変換します。 this SO post見てきました:

b = as.data.frame(matrix(unlist(list_of_lists), nrow=length(unlist(list_of_lists[1])))) 

と、この試みている:

long_df = ldply(list_of_lists, as.data.frame) 

どちらも私はそれを期待どおりに動作します。

私のような長いDF持ちたい:彼らはすべてのサブリストが同じフィールドを持っていると仮定し

id variable1 variable2 
1  "8"   8 
1  "8"   12.2 
2  "4"   2 
2  "4"   2.2 
2  "4"   12.1 
2  "4"   200.1 

答えて

0

が個別にデータフレームに、各サブリストに変換してからrbind

do.call(rbind, lapply(list_of_lists, data.frame)) 

# id var1 var2 
# 1 1 8 8.0 
# 2 1 8 12.2 
# 3 2 4 2.0 
# 4 2 4 2.2 
# 5 2 4 12.1 
# 6 2 4 200.1 
関連する問題