我刚刚学习R,并且很难包围我的头部以便如何从列表中的对象中提取元素。我已经解析了一个JSON文件到R给我列表对象。但我无法弄清楚从那里,如何从列表中提取各种json元素。这里有一个截看看如何解析JSON后出现在我的数据:在R中,从列表中提取对象的一部分
> #Parse data into R objects#
> list.Json= fromJSON(,final.name, method = "C")
> head(listJson,6)
[[1]]
[[1]]$contributors
NULL
[[1]]$favorited
[1] FALSE
...[truncating]...
[[5]]
[[5]]$contributors
NULL
[[5]]$favorited
[1] FALSE
我可以找出如何提取的收藏夹数据的对象列表中的一个
> first.object=listJson[1]
> ff=first.object[[1]]$favorited
> ff
[1] FALSE
但我非常困惑如何为列表中的所有对象提取收藏。我已经开心地看着,这是正确的方法吗?我是否需要将上面的代码放到for ... next循环中?
列表在R中有点令人困惑。它们实际上更类似于其他语言的hashmaps/dictionaries。看看http://stackoverflow.com/questions/2050790/how-to-correctly-use-lists-in-r得到一些见解。 – Wilduck 2012-07-17 20:25:56
将JSON转换为'data.frame'可能会很痛苦,特别是如果从一个对象到下一个对象的键不能保证是相同的。我喜欢@Jeff Allen的回答,但是当你的缺失值是'NULL'而不是'NA'时要小心。 (如果你使用'RJSONIO',你可以使用'fromJSON(...,nullValue = NULL)'来控制默认值)。例如,'sapply(listJson,“[[”,“contributors”)'当其缺失值为'NULL'时返回一个列表,但当其缺失值为'NA'时返回一个向量。 – lockedoff 2012-07-17 21:36:24