These R packages import sports, weather, stock data and more

web developer laptop code user programmer

There are lots of good reasons you might want to analyze public data, from detecting salary trends in government data to uncovering insights about a potential investment (or your favorite sports team).

But before you can run analyses and visualize trends, you need to have the data. The packages listed below make it easy to find economic, sports, weather, political and other publicly available data and import it directly into R -- in a format that's ready for you to work your analytics magic.

Packages that are on CRAN can be installed on your system by using the R command install.packages("packageName") -- you only need to run this once. GitHub packages are best installed with the devtools package -- install that once with install.packages("devtools") and then use that to install packages from GitHub using the format devtools::install_github("repositoryName/packageName"). Once installed, you can load a package into your working session once each session using the format library("packageName").

Some of the sample code below comes from package documentation or blog posts by package authors. For more information about a package, you can run help(package="packageName") in R to get info on functions included in the package and, if available, links to package vignettes (R-speak for additional documentation). To see sample code for a particular function, try example(topic="functionName", package="packageName") or simply ?functionName for all available help about a function including any sample code (not all documentation includes samples).

For more on best R packages, see Great R Packages for data import, wrangling and visualization.

R packages to import public data

Package Category Description Sample Code More info
blscrapeR Economics, Government For specific information about U.S. salaries and employment info, the Bureau of Labor Statistics offers a wealth of data available via this new package. blsAPI package is another option. CRAN. bls_api(c("LEU0254530800", "LEU0254530600"),
startyear = 2000, endyear = 2015)
Package vignettes
FredR Finance, Government If you're interested just in Fed data, FredR can access data from the Federal Reserve Economic Data API, including 240,000 US and international data sets from 77 sources. Free API key needed. GitHub. fred <- FredR(api.key)
gdp <- fred$series.observations(series_id = 'GDPC1')
Project's GitHub page
quantmod Finance, Government This package is designed for financial modelling but also has functions to easily pull data from Google Finance, Yahoo Finance and the St. Louis Federal Reserve (FRED). CRAN. getSymbols("DEXJPUS",src="FRED") Intro on getting data
edgarWebR Finance, Government This package is designed to let you search and download data from the U.S. Securities and Exchange Commission, including corporate and mutual-fund financial filings. CRAN. getSymbols("DEXJPUS",src="FRED") See the package vignette
censusapi Government There are several other R packages that work with data from the U.S. Census, but this aims to be complete and offer data from all the bureau's APIs, not just from one or two surveys. API key required. GitHub. mydata <- getCensus(name="acs5", vintage=2014,
vars=c("NAME", "B01001_001E", "B19013_001E"),
region="congressional district:*", regionin="state:36")
See the Computerworld tutorial; an Urban Institute presentation also has more details. Government This joint project of the U.S. and European Union governments aims to make it easy to import and compare US and EU data sets. Free U.S. Bureau of Economic Analysis API key needed. GitHub. getRel('gross domestic product', lucky = T, beaKey = myKey)
getRel('gdp', lucky = T, beaKey = myKey)
See the project's README file for installation and usage instructions.
RSocrata Government Pull data from any municipality that uses the Socrata data platform. Created by the City of Chicago data team. CRAN. mydata <- read.socrata(
RSocrata blog post
forbesListR Misc A bit of a niche offering, this taps into lists maintained by Forbes including largest private companies, top business schools and top venture capitalists. GitHub. #top venture capitalists 2012-2016
mydata <-
get_years_forbes_list_data(years = 2012:2016,
list_name = "Top VCs")
See the project GitHub page. You may need to manually load the tidyr package for code to work.
pollstR Politics This package pulls political polling data from the Huffington Post Pollster API. CRAN. elec_2016_polls <- pollster_chart_data(
See the example vignette
Lahman Sports R interface for the famed Lahman baseball database. CRAN. batavg <- battingStats() See this blog post on using R for baseball research
stattleshipR Sports Stattleship offers NFL, NBA, NHL and MLB game data via a partnership with Gracenote. API key (currently still free) needed. GitHub. set_token("your-API-token")
sport <- 'baseball'
league <- 'mlb'
ep <- 'game_logs'
q_body <- list(team_id='mlb-bos', status='ended',
gls <- ss_get_result(sport=sport, league=league,
ep=ep, query=q_body, walk=TRUE)
game_logs <-'rbind',
lapply(gls, function(x) x$game_logs))
See some general details on the API.
weatherData Weather Pull historical weather data from cities/airports around the world. CRAN. If you have trouble pulling data, especially on a Mac, try uninstalling and re-installing a different version with the code install_github("ozagordi/weatherData") mydata <- getWeatherForDate("BOS", "2016-08-01",
See this post by the package author.
nasadata Science Access NASA satellite imagery and "Natural Event Tracker" data. myimage <- earth_image(apikey, -100.31008, 25.66779, "2017-0-10-01") This blog post offers more information on usage and capabilities. CRAN.
pewdata Social Science Import Pew Research Center survey data on subjects such as Internet, Science & Tech; Social & Demographic Trends; U.S. Politics; Global Attitudes & Trends; and more into R for analysis. pew_download() function needs both subject area and file ID from the Pew website. CRAN. pew_download(area = "internet", file_id = "10071735") See the package vignette.
rtweet Social Media Tap into Twitter's REST and stream APIs with R. Twitter access token required. CRAN.   See the rtweet website.
How to protect Windows 10 PCs from ransomware
Shop Tech Products at Amazon