Quandl - 将JSON数据转换为数据帧uisng R.

时间:2017-01-04 07:58:10

标签: json r finance quandl commodity

我正在尝试从quandl网站提取数据。我使用jsonlite R库来提取数据。它工作正常。但是,当我将其转换为dataframe时,它会让我跟随错误

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  : 
arguments imply differing number of rows: 1, 9, 0, 14484

我使用下面的代码来提取数据并将其转换为数据框,以便我可以使用R导出数据。

library(jsonlite)
url = "https://www.quandl.com/api/v3/datasets/CHRIS/CME_S1.json"
data=jsonlite::fromJSON(url, simplifyDataFrame = TRUE)
data = plyr::ldply(data, rbind)

数据类型为list

str(data)
List of 1
$ dataset:List of 21
..$ id                   : int 10922651
..$ dataset_code         : chr "CME_S1"
..$ database_code        : chr "CHRIS"
..$ name                 : chr "Soybean Futures, Continuous Contract #1 (S1) (Front Month)"
..$ description          : chr "Historical Futures Prices: Soybean Futures, Continuous Contract #1. Non-adjusted price based on spot-month continuous contract "| __truncated__
..$ refreshed_at         : chr "2017-01-04T07:29:55.688Z"
..$ newest_available_date: chr "2017-01-03"
..$ oldest_available_date: chr "1959-07-01"
..$ column_names         : chr [1:9] "Date" "Open" "High" "Low" ...
..$ frequency            : chr "daily"
..$ type                 : chr "Time Series"
..$ premium              : logi FALSE
..$ limit                : NULL
..$ transform            : NULL
..$ column_index         : NULL
..$ start_date           : chr "1959-07-01"
..$ end_date             : chr "2017-01-03"
..$ data                 : chr [1:14484, 1:9] "2017-01-03" "2016-12-30" "2016-12-29" "2016-12-28" ...
..$ collapse             : NULL
..$ order                : NULL
..$ database_id          : int 596

我可以看到,这个错误是因为导入的数据是列表格式。有没有办法将其转换为数据框,以便我可以以任何格式导出它?我试过不同的方法,但确实取得了成功。 我会感激任何帮助。

0 个答案:

没有答案