R/Shiny:JSON 阅读图书馆
R/Shiny: JSON Reading Libraries
我正在尝试将“数据”放入数据框中,但无法找到在 R 中执行此操作的简单方法。这只是整个 JSON.
中的一个片段
[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1,
},
{
"company": "something2",
"quarter": 1,
}
}
]
我可以在 Python 中利用
轻松做到这一点
data = json.load(filepath)
for i in data["data"]:
//do stuff
但我找不到在 R 中执行此操作的简单方法。我发现的所有指南看起来都在利用来自 nosql 数据库的 JSON,而不是像这样我们有“东西”的东西和“时间戳”包括在内。
更新:
df_json <- fromJSON(json_data, simplifyDataFrame = TRUE)
# get a glimpse of the list_json2 object
glimpse(df_json)
glimpse(as.data.frame(df_json["data"])
此代码产生 $ data <list> [<data.frame[21 x 20]>]
但我不知道如何获取数据中找到的信息并将其正确放入数据框中。
要将其转换为数据框,您可以使用 tidyverse
库中的 unnest()
,例如,
library(jsonlite)
library(tidyverse)
df_json <-fromJSON(json_data, simplifyDataFrame = TRUE)
out <- df_json%>% unnest(data) %>% data.frame()
out
给予,
something timestamp company quarter
1 555 aTimeStamp something1 1
2 555 aTimeStamp something2 1
数据:
[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1
},
{
"company": "something2",
"quarter": 1
}
]
}
]
我正在尝试将“数据”放入数据框中,但无法找到在 R 中执行此操作的简单方法。这只是整个 JSON.
中的一个片段[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1,
},
{
"company": "something2",
"quarter": 1,
}
}
]
我可以在 Python 中利用
轻松做到这一点data = json.load(filepath)
for i in data["data"]:
//do stuff
但我找不到在 R 中执行此操作的简单方法。我发现的所有指南看起来都在利用来自 nosql 数据库的 JSON,而不是像这样我们有“东西”的东西和“时间戳”包括在内。
更新:
df_json <- fromJSON(json_data, simplifyDataFrame = TRUE)
# get a glimpse of the list_json2 object
glimpse(df_json)
glimpse(as.data.frame(df_json["data"])
此代码产生 $ data <list> [<data.frame[21 x 20]>]
但我不知道如何获取数据中找到的信息并将其正确放入数据框中。
要将其转换为数据框,您可以使用 tidyverse
库中的 unnest()
,例如,
library(jsonlite)
library(tidyverse)
df_json <-fromJSON(json_data, simplifyDataFrame = TRUE)
out <- df_json%>% unnest(data) %>% data.frame()
out
给予,
something timestamp company quarter
1 555 aTimeStamp something1 1
2 555 aTimeStamp something2 1
数据:
[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1
},
{
"company": "something2",
"quarter": 1
}
]
}
]