The New York Times web site provides a rich set of APIs, as described here: http://developer.nytimes.com/docs
You’ll need to start by signing up for an API key. (df956f71033315e19a189086a92e03b6%3A1%3A59370888)
Your task is to choose one of the New York Times APIs, construct an interface in R to read in the JSON data, and transform it to an R dataframe.
library(jsonlite)
library(knitr)
# NY Times Congress API Key: df956f71033315e19a189086a92e03b6:1:59370888
NY_TIMES_CONGRESS_HOUSE_MEMBERS_JSON_URL = 'http://api.nytimes.com/svc/politics/v3/us/legislative/congress/102-113/house/members/current.json?api-key=df956f71033315e19a189086a92e03b6%3A1%3A59370888'
json_file <- fromJSON(NY_TIMES_CONGRESS_HOUSE_MEMBERS_JSON_URL)
df <- as.data.frame(json_file$results$members)
Subset with good UI:
kable(head(df[ , (names(df) %in% c('id','first_name','last_name','state','party','seniority','missed_votes'))], n = 20))
| id | first_name | last_name | party | seniority | missed_votes | state |
|---|---|---|---|---|---|---|
| A000014 | Neil | Abercrombie | D | 4 | 30 | HI |
| A000022 | Gary | Ackerman | D | 10 | 173 | NY |
| A000103 | William | Alexander | D | 24 | 188 | AR |
| A000109 | Wayne | Allard | R | 2 | 16 | CO |
| A000121 | George | Allen | R | 2 | 4 | VA |
| A000189 | Glenn | Anderson | D | 24 | 30 | CA |
| A000209 | Michael | Andrews | D | 10 | 18 | TX |
| A000210 | Robert | Andrews | D | 2 | 26 | NJ |
| A000211 | Thomas | Andrews | D | 2 | 14 | ME |
| A000212 | Frank | Annunzio | D | 28 | 48 | IL |
| A000213 | Beryl | Anthony | D | 14 | 184 | AR |
| A000214 | Douglas | Applegate | D | 16 | 21 | OH |
| A000215 | Bill | Archer | R | 22 | 49 | TX |
| A000217 | Richard | Armey | R | 2 | 26 | TX |
| A000224 | Leslie | Aspin | D | 22 | 64 | WI |
| A000226 | Chester | Atkins | D | 8 | 60 | MA |
| A000337 | Les | AuCoin | D | 18 | 149 | OR |
| B000008 | Jim | Bacchus | D | 2 | 33 | FL |
| B000072 | Richard | Baker | R | 6 | 61 | LA |
| B000104 | Cass | Ballenger | R | 6 | 38 | NC |
All columns with core UI:
head(df, n = 20)
## id thomas_id
## 1 A000014 2
## 2 A000022 4
## 3 A000103 10
## 4 A000109 11
## 5 A000121 13
## 6 A000189 16
## 7 A000209 20
## 8 A000210 21
## 9 A000211 22
## 10 A000212 23
## 11 A000213 24
## 12 A000214 25
## 13 A000215 26
## 14 A000217 28
## 15 A000224 33
## 16 A000226 34
## 17 A000337 36
## 18 B000008 37
## 19 B000072 47
## 20 B000104 50
## api_uri
## 1 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000014.json
## 2 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000022.json
## 3 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000103.json
## 4 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000109.json
## 5 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000121.json
## 6 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000189.json
## 7 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000209.json
## 8 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000210.json
## 9 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000211.json
## 10 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000212.json
## 11 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000213.json
## 12 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000214.json
## 13 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000215.json
## 14 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000217.json
## 15 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000224.json
## 16 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000226.json
## 17 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/A000337.json
## 18 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/B000008.json
## 19 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/B000072.json
## 20 http://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/B000104.json
## first_name middle_name last_name party twitter_account
## 1 Neil <NA> Abercrombie D neilabercrombie
## 2 Gary L. Ackerman D repgaryackerman
## 3 William Vollie Alexander D
## 4 Wayne A. Allard R
## 5 George Felix Allen R
## 6 Glenn Malcolm Anderson D
## 7 Michael <NA> Andrews D
## 8 Robert E. Andrews D RepAndrews
## 9 Thomas H. Andrews D
## 10 Frank <NA> Annunzio D
## 11 Beryl Franklin Anthony D
## 12 Douglas <NA> Applegate D
## 13 Bill <NA> Archer R
## 14 Richard K. Armey R
## 15 Leslie <NA> Aspin D
## 16 Chester Greenough Atkins D
## 17 Les <NA> AuCoin D
## 18 Jim <NA> Bacchus D
## 19 Richard Hugh Baker R
## 20 Cass <NA> Ballenger R
## facebook_account facebook_id url
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8 http://andrews.house.gov/
## 9
## 10
## 11
## 12
## 13
## 14
## 15
## 16
## 17
## 18
## 19
## 20
## rss_url domain dw_nominate
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8 http://andrews.house.gov/rss.xml andrews.house.gov
## 9
## 10
## 11
## 12
## 13
## 14
## 15
## 16
## 17
## 18
## 19
## 20
## ideal_point seniority total_votes missed_votes total_present state
## 1 4 932 30 0 HI
## 2 10 932 173 0 NY
## 3 24 932 188 0 AR
## 4 2 932 16 0 CO
## 5 2 545 4 1 VA
## 6 24 932 30 0 CA
## 7 10 932 18 0 TX
## 8 2 932 26 0 NJ
## 9 2 932 14 0 ME
## 10 28 932 48 0 IL
## 11 14 932 184 0 AR
## 12 16 932 21 0 OH
## 13 22 932 49 0 TX
## 14 2 932 26 0 TX
## 15 22 932 64 0 WI
## 16 8 932 60 0 MA
## 17 18 932 149 0 OR
## 18 2 932 33 0 FL
## 19 6 932 61 0 LA
## 20 6 932 38 1 NC
## district missed_votes_pct votes_with_party_pct
## 1 1 3.22 87.03
## 2 7 18.56 89.86
## 3 1 20.17 86.29
## 4 4 1.72 82.21
## 5 7 0.73 83.55
## 6 32 3.22 85.14
## 7 25 1.93 78.88
## 8 1 2.79 79.03
## 9 1 1.50 85.40
## 10 11 5.15 86.99
## 11 4 19.74 85.03
## 12 18 2.25 76.40
## 13 7 5.26 78.82
## 14 26 2.79 79.80
## 15 1 6.87 84.79
## 16 5 6.44 86.12
## 17 1 15.99 86.59
## 18 11 3.54 82.76
## 19 6 6.55 85.53
## 20 10 4.08 83.89