PurpleAirAPI
is an R package that provides functions to
access historical data from PurpleAir sensors through their API. This
package allows you to download, process, and analyze air quality data
collected by PurpleAir sensors.
To install the package, you can use devtools
to install
it directly from GitHub:
# Install PurpleAirAPI from GitHub
::install_github("heba-razzak/PurpleAirAPI") devtools
Here are some examples to help you get started with the
PurpleAirAPI
package.
library(PurpleAirAPI)
The getPurpleairSensors
function retrieves metadata
about PurpleAir sensors, including their locations and the dates they
were created and last seen.
# Define your PurpleAir API read key
<- "your_api_key_here"
api_key
# Get sensor data
<- getPurpleairSensors(apiReadKey = api_key)
sensor_data
# View the first few rows of the sensor data
head(sensor_data)
sensor_index date_created last_seen latitude longitude1 53 2016-02-04 2024-08-13 40.24674 -111.7048
2 77 2016-03-02 2024-08-13 40.75082 -111.8253
3 182 2016-08-01 2024-08-13 49.16008 -123.7423
4 195 2016-08-01 2024-08-13 41.06000 -124.1288
5 286 2016-09-06 2024-08-13 49.48426 -124.2666
6 314 2016-09-15 2024-08-13 39.43402 -104.7324
The getSensorHistory
function allows you to download
historical air quality data from a specific PurpleAir sensor.
# Define your PurpleAir API read key and the sensor index
<- "your_api_key_here"
api_key <- 2858
sensor_index
# Define the date range and the fields to retrieve
<- "2018-01-01"
start_date <- "2018-03-31"
end_date <- "60" # Hourly averages
average <- c("pm2.5_atm", "pm2.5_atm_a", "pm2.5_atm_b")
fields
# Download historical data
<- getSensorHistory(
historical_data sensorIndex = sensor_index,
apiReadKey = api_key,
startDate = start_date,
endDate = end_date,
average = average,
fields = fields
)
# View the first few rows of the historical data
head(historical_data)
.5_atm pm2.5_atm_a pm2.5_atm_b sensor_index
time_stamp pm21 2018-01-01 00:00:00 50.318 49.301 51.335 2858
2 2018-01-01 01:00:00 48.519 46.951 50.087 2858
3 2018-01-01 02:00:00 48.688 47.034 50.341 2858
4 2018-01-01 03:00:00 51.705 49.693 53.716 2858
5 2018-01-01 04:00:00 53.279 51.212 55.346 2858
6 2018-01-01 05:00:00 48.749 46.797 50.700 2858
For more details on the available fields, API documentation, and other features of the PurpleAir API, please refer to the PurpleAir API documentation.
For a full list of fields that can be used with historical data, refer to the PurpleAir API documentation on sensor history.
For a full list of fields that can be used with sensor data, refer to the PurpleAir API documentation on sensor data.