我想从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 **。否则,我可以通过逗号或类似的方式拆分列字符串。 –