我想從api的json數據將列表轉換爲data.frame。使用來自JSON的,我得到一個嵌套的列表結構,並且我需要在其他一些數據框上加入這些數據。將多個列表元素轉換爲單獨的data.frame列
因此,該列表是多維(嵌套)。我一直試圖將多個元素轉換爲data.frame中的單獨列,因爲它們與其他框架的結構匹配並進行連接。我確信有這樣一個優雅的方式,但我似乎沒有找到一個。在最壞的情況下,我最終可能會使用作爲循環。
任何幫助將不勝感激!!!!
這裏是樣本數據來創建列表:
mylist <- list(structure(list(
categoryName = "cat1",
parent_categories = "parent1",
url = "/xyx.com/bca/"),
.Names = c("categoryName", "parent_categories", "url")),
structure(list(
categoryName = "cat2",
parent_categories = c("parent2", "parent3", "parent4"),
url = "/abc.com/bca"),
.Names = c("categoryName", "parent_categories", "url"))
)
我想應該是這樣的
categoryName parent_categories_1 parent_categories_2 parent_categories_3 url
1 cat1 parent1 NA NA /xyx.com/bca/
2 cat2 parent2 parent3 parent4 /abc.com/bca
下面的輸出是我用什麼,但沒有得到期望的結果,儘管其非常接近
ldply(mylist, function(x){ data.frame(x) })
**MY CURRENT OUTPUT**
categoryName parent_categories url
1 cat1 parent1 /xyx.com/bca/
2 cat2 parent2 /abc.com/bca
3 cat2 parent3 /abc.com/bca
4 cat2 parent4 /abc.com/bca
感謝您的快速響應!這似乎有伎倆。其實我沒有意識到在我的ldply中使用** Transpose **。否則,我可以通過逗號或類似的方式拆分列字符串。 –