gpt4 book ai didi

json - 将 JSON URL 转换为 R 数据帧

转载 作者:行者123 更新时间:2023-12-04 23:41:50 25 4
gpt4 key购买 nike

我在将 JSON 文件(从 API)转换为 R 中的数据帧时遇到问题。一个例子是 URL http://api.fantasy.nfl.com/v1/players/stats?statType=seasonStats&season=2010&week=1&format=json

我尝试了 S/O 的一些不同建议,包括
convert json data to data frame in R以及各种博客文章,例如 http://zevross.com/blog/2015/02/12/using-r-to-download-and-parse-json-an-example-using-data-from-an-open-data-portal/

我最接近的是使用下面的代码,它为我提供了一个包含 4 个“行”和一堆“变量”(V1、V2 等)的大矩阵。我假设这个 JSON 文件的格式与“普通”文件的格式不同。

library(RJSONIO)

raw_data <- getURL("http://api.fantasy.nfl.com/v1/players/stats?statType=seasonStats&season=2010&week=1&format=json")

data <- fromJSON(raw_data)

final_data <- do.call(rbind, data)

我不知道如何让它工作,所以欢迎任何 R 包/进程。提前致谢。

最佳答案

jsonlite包自动获取数据帧:

library(jsonlite)
mydata <- fromJSON("http://api.fantasy.nfl.com/v1/players/stats?statType=seasonStats&season=2010&week=1&format=json")

names(mydata$players)
# [1] "id" "esbid" "gsisPlayerId" "name"
# [5] "position" "teamAbbr" "stats" "seasonPts"
# [9] "seasonProjectedPts" "weekPts" "weekProjectedPts"

head(mydata$players)
# id esbid gsisPlayerId name position teamAbbr stats.1
# 1 100029 FALSE FALSE San Francisco 49ers DEF SF 16
# 2 729 ABD660476 00-0025940 Husain Abdullah DB KC 15
# 3 2504171 ABR073003 00-0019546 John Abraham LB 15
# 4 2507266 ADA509576 00-0025668 Michael Adams DB 13
# 5 2505708 ADA515576 00-0022247 Mike Adams DB IND 15
# 6 1037889 ADA534252 00-0027610 Phillip Adams DB ATL 11

您可以使用 simplify 来控制它。 jsonlite::fromJSON() 中的参数.

关于json - 将 JSON URL 转换为 R 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com