我剛剛學習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