我想将我的JSON数据转换为R中的数据框。下面是我到目前为止所做的事情:
library("rjson")
result <- fromJSON(file ="mypath/data.json")
json_data_frame <- as.data.frame(result)
然而,出现了这样的错误:
Error in data.frame(company_id = "12345678", country_name = "China", : arguments imply differing number of rows: 1, 2, 0
我还尝试了以下代码:
library("rjson")
result <- fromJSON(file ="mypath/data.json")
final_data <- do.call(rbind, result)
同时出现了以下错误:
警告信息:在(function(...,deparse.level=1)中:结果的列数不是向量长度的倍数(arg 3)
我不知道发生了什么以及如何解决它。如果能得到帮助,我将不胜感激。
这是我的一些JSON数据片段:
{"business_id": "1234567", "Country_name": "China", "hours": {"Monday": {"close": "02:00", "open": "11:00"}, "Tuesday": {"close": "02:00", "open": "11:00"}, "Friday": {"close": "02:00", "open": "11:00"}, "Wednesday": {"close": "02:00", "open": "11:00"}, "Thursday": {"close": "02:00", "open": "11:00"}, "Sunday": {"close": "02:00", "open": "12:00"}, "Saturday": {"close": "02:00", "open": "12:00"}}, "open": true, "categories": ["Bars", "Nightlife", "Restaurants"], "city": "Beijing", "review_count": 5, "name": "Chen's Bar", "neighborhoods": ["West End"], "attributes": {"Take-out": true, "Wi-Fi": "free", "Good For": {"dessert": false, "latenight": false, "lunch": false, "dinner": false, "breakfast": false, "brunch": false}, "Good For Dancing": false, "Noise Level": "loud", "Takes Reservations": false, "Delivery": false, "Ambience": {"romantic": false, "intimate": false, "classy": false, "hipster": false, "divey": false, "touristy": false, "trendy": false, "upscale": false, "casual": false}, "Happy Hour": true, "Parking": {"garage": false, "street": false, "validated": false, "lot": false, "valet": false}, "Has TV": true, "Outdoor Seating": false, "Attire": "casual", "Alcohol": "full_bar", "Waiter Service": true, "Accepts Credit Cards": true, "Good for Kids": false, "Good For Groups": true, "Caters": true, "Price Range": 1}, "type": "business"}
data.frame
,因为它们更为通用。JSON非常适合映射到R
中的列表;这就是为什么fromJSON
返回一个列表的原因。如果您可以将其转换为data.frame
,那取决于您的对象结构。请分享一个您的JSON示例,并说明您期望的输出结果是什么样子的。 - nicolalist
分析它吗?还是尝试将其转换为数据框?(但至少我知道问题出在哪里:)谢谢) - Ping Yi Hsu[[1]]$...
这样的方式来逐步解包嵌套列表了。 - sconfluentus