data.table中的JSON导入在R中不起作用(RStudio)

data.table中的JSON导入在R中不起作用(RStudio),r,json,rest,api,R,Json,Rest,Api,大家好 我有这段代码,它可以通过使用导入的数据生成一个表来很好地工作: library(jsonlite) library(data.table) response = fromJSON("https://www.cryptocompare.com/api/data/coinlist") df = data.table::rbindlist(response$Data, fill=TRUE) View(df) 但是,当我试图通过使用这一细分市场得出一枚或多枚硬币的历史价格时: library

大家好

我有这段代码,它可以通过使用导入的数据生成一个表来很好地工作:

library(jsonlite)
library(data.table)

response = fromJSON("https://www.cryptocompare.com/api/data/coinlist")
df = data.table::rbindlist(response$Data, fill=TRUE)
View(df)
但是,当我试图通过使用这一细分市场得出一枚或多枚硬币的历史价格时:

library(jsonlite)
library(data.table)

response = fromJSON("https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=10")
df = data.table::rbindlist(response$Data, fill=TRUE)
View(df)
我收到了以下错误消息:

Error in data.table::rbindlist(response$Data, fill = TRUE) :    Item 1
of input is not a data.frame, data.table or list
我真的很困惑,因为从它们生成的结果(通过在浏览器中执行web链接,我得到几乎相同的标题数据

请问我该怎么修

谢谢 亚辛

[编辑] 将代码更改为:

library(jsonlite)
library(data.table)

response = fromJSON("https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=10")
df = data.table(response$Data, fill=TRUE)
View(df)
我得到(一个单元格中的所有数据):

请问如何将价格从1个单元格转换为行

谢谢
Yassine

您是否查看了您的数据(
str(response)
)?两个查询的结构一点也不相似。很抱歉,我不明白我应该做什么?我如何才能让表生成第二段的请求数据?您的数据不同。第二个
响应
具有
响应$data$data
这是一个
数据框架
(不需要
rbindlist
)。如果您希望它类似于第一个API调用(正在工作),那么就出了问题,因为所有列都不匹配,这表明这是一个不同的响应。我不知道您应该怎么做:我不知道数据,也不知道您打算使用它做什么。
response = fromJSON("https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=10")
# or
# response = fromJSON("https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=10")


df = as.data.frame(response$Data)

# result
df

# Aggregated   TimeFrom     TimeTo  Data.time Data.high Data.low Data.open Data.volumefrom Data.volumeto Data.close Data.conversionType Data.conversionSymbol
# 1       FALSE 1584316800 1585180800 1584316800   5364.93  4454.22   5357.02       203116.86     996661883    5045.00              direct                      
# 2       FALSE 1584316800 1585180800 1584403200   5561.43  4950.90   5045.00       116314.49     618671972    5337.66              direct                      
# 3       FALSE 1584316800 1585180800 1584489600   5451.02  5024.71   5337.66       109210.96     576456806    5413.06              direct                      
# 4       FALSE 1584316800 1585180800 1584576000   6418.99  5268.33   5413.06       147007.71     868668217    6184.88              direct                      
# 5       FALSE 1584316800 1585180800 1584662400   6932.04  5691.69   6184.88       148232.44     947038098    6206.44              direct                      
# 6       FALSE 1584316800 1585180800 1584748800   6459.65  5876.79   6206.44        67262.29     415771089    6195.43              direct                      
# 7       FALSE 1584316800 1585180800 1584835200   6415.14  5750.68   6195.43        75451.24     457211402    5828.15              direct                      
# 8       FALSE 1584316800 1585180800 1584921600   6614.56  5703.64   5828.15       107692.99     667919370    6503.53              direct                      
# 9       FALSE 1584316800 1585180800 1585008000   6857.49  6406.64   6503.53       105151.69     700444488    6767.18              direct                      
# 10      FALSE 1584316800 1585180800 1585094400   6980.29  6483.00   6767.18        84721.04     566264216    6694.21              direct                      
# 11      FALSE 1584316800 1585180800 1585180800   6796.12  6581.48   6694.21        16824.06     112750770    6629.23              direct