【问题标题】:R JSONlite: How to extract below output?R JSONlite:如何提取以下输出?
【发布时间】:2015-08-01 06:14:02
【问题描述】:

请看下面的 R 代码,我正在使用 JSONlite 包从网站上抓取数据:

>url <- "http://fantasy.premierleague.com/web/api/elements/"

>a<-fromJSON(paste0(url, 1))

>a

给我以下输出:

$id
[1] 1

$photo
[1] "59936.jpg"

$web_name
[1] "Szczesny"

$event_explain
list()

$fixture_history
$fixture_history$all
list()

$fixture_history$summary
list()


$season_history
     [,1]      [,2]   [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17]

[1,] "2008/09" "0"    "0"  "0"  "0"  "0"  "0"  "0"  "0"  "0"   "0"   "0"   "0"   "0"   "0"   "45"  "0"  

[2,] "2009/10" "0"    "0"  "0"  "0"  "0"  "0"  "0"  "0"  "0"   "0"   "0"   "0"   "0"   "0"   "45"  "0"  

[3,] "2010/11" "1350" "0"  "0"  "6"  "19" "0"  "1"  "0"  "1"   "0"   "45"  "0"   "0"   "0"   "43"  "62" 

[4,] "2011/12" "3420" "0"  "0"  "13" "49" "0"  "1"  "0"  "2"   "0"   "82"  "8"   "469" "0"   "59"  "139"

[5,] "2012/13" "2250" "0"  "0"  "10" "24" "0"  "1"  "0"  "1"   "0"   "71"  "3"   "314" "0"   "53"  "102"

[6,] "2013/14" "3330" "0"  "0"  "16" "41" "0"  "1"  "0"  "2"   "0"   "113" "4"   "475" "194" "59"  "157"

[7,] "2014/15" "1498" "0"  "0"  "3"  "21" "0"  "0"  "0"  "1"   "0"   "44"  "0"   "172" "215" "52"  "47" 

现在我想将 season_history 数据作为数据框或矩阵访问以进行分析,该怎么做?我想要一个带有标题的最终输出:

1.web_name

2.$season_history[1,17]

即:Szcezesny 47

【问题讨论】:

  • 您对这些数据的使用是否符合网站条款和条件?

标签: r web-scraping jsonlite


【解决方案1】:

不确定我是否理解其中的困难。不就是这样吗:

as.data.frame(a$season.history)

【讨论】:

  • 是的,谢谢,工作!我很天真。我在SAS很不错。你能推荐在哪里学习 R 吗?
  • 对于初学者来说,SO R Tag Wiki 怎么样?
  • “R 简介”是强制性的。 SAS 用户的规范文本可能是 Bob Muenchen 的,其标题类似于“R for SAS and SPSS Users”。我认为 Andrie deVries 和 Joris Meys 的“R for Dummies”相当不错,但完全披露,我把它作为评论副本。我确实购买了 Norm Matloff 的“R 编程艺术”,也认为它很好。我不喜欢“The R Book”,因为我认为它非常草率地介绍了 R 对象模型,并鼓励了很多坏习惯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多