【发布时间】:2015-10-07 07:57:20
【问题描述】:
我已通过 jsonlite 将 .json 文件中的数据导入 R。不幸的是,尽管数据包含多个类别,但它仍显示为“列表 1”。
library(jsonlite)
wimbledon <- from JSON("wimbledon.json",flatten=TRUE)
我在全球环境中打开温网时得到以下信息:
wimbledon List of 1
graph_data: 'data.frame': 1 obs. of 2 variables:
..$ term:chr "wimbledon"
..$data: List of 1
.. ..$: 'data.frame': 165 obs. of 3 variables:
.. .. ..$ matches : int [1:165] 0 0 0 0 0 0 0 0 ...
.. .. ..$ year : int [1:165] 1851 1852 1853 1854 ...
我的问题是,是否有任何简单的方法来仅引用 $matches 和 $year,就像我在使用 wimbledon$matches 和 wimbledon$year 的数据框中所做的那样?我熟悉使用 wimbledon[[n]] 提取列表的某个元素。但是,这里的问题是我似乎已经将所有内容解析为 jsonlite 中的单个列表。抱歉,我无法添加可重现的示例。非常感谢您在将“匹配”和“年份”列提取为单独的数据框列时给我的任何帮助。
【问题讨论】:
-
试试
wimbledon$graph_data$data[[1]]$matches。数据的结构很有趣 - 我无法重新创建具有单行 (graph_data) 的 data.frame,其中第二列是列表,我认为这是不允许的。 -
@mattdevlin 非常感谢!那工作得很好。是的,我也对结构感到困惑,但不知何故,这似乎是可能的。请添加您的评论作为答案,我会接受