Download/update the data and save to your cache.
renmods_update(type = "all")Connect to the database ENMODS table
db <- renmods_connect()
#> ℹ Connecting to "this_yr", "yr_2_5", "yr_5_10", and "historic" data
#> ✔ this_yr: Last downloaded 2026-03-05 10:38:10 (within 1 week(s))
#> ✔ yr_2_5: Last downloaded 2026-03-05 17:29:05 (within 26 week(s))
#> ✔ yr_5_10: Last downloaded 2026-03-05 10:37:22 (within 26 week(s))
#> ✔ historic: Last downloaded 2026-03-05 17:31:30 (within 26 week(s))Optionally, prefilter by data type or date range.
db <- renmods_connect(type = "this_yr")
#> ℹ Connecting to "this_yr" data
#> ✔ this_yr: Last downloaded 2026-03-05 10:38:10 (within 1 week(s))
db <- renmods_connect(dates = c("2024-12-15", "2025-01-15"))
#> ℹ Connecting to "this_yr" and "yr_2_5" data for dates between 2024-12-15 and 2025-01-15
#> ✔ this_yr: Last downloaded 2026-03-05 10:38:10 (within 1 week(s))
#> ✔ yr_2_5: Last downloaded 2026-03-05 17:29:05 (within 26 week(s))
db <- renmods_connect(dates = c("2026-01-01", "2026-01-31"))
#> ℹ Connecting to "this_yr" data for dates between 2026-01-01 and 2026-01-31
#> ✔ this_yr: Last downloaded 2026-03-05 10:38:10 (within 1 week(s))Collect the data into a data frame (from a database connection) for working/saving. The smaller the data set and the fewer data types, the fast this will go.
df <- collect(db)Or use the dplyr package to do more filtering before you collect the data.
First we’ll check out what’s in the data by exploring the first couple data points
glimpse(db)
#> Rows: ??
#> Columns: 68
#> Database: DuckDB 1.4.4 [steffi@Linux 6.17.0-14-generic:R 4.5.2/:memory:]
#> $ Ministry_Contact <chr> "Breanne Hill", "Breanne Hill", "Yihting Lim", "Breanne Hill", "Jenn…
#> $ Sampling_Agency <chr> "74 - Permittee", "74 - Permittee", "74 - Permittee", "74 - Permitte…
#> $ Project <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Project_Name <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Work_Order_number <chr> "VA26A0226", "VA26A1580", NA, "VA26A0232", "VA26A0622", "VA26A0581",…
#> $ Location_ID <chr> "E303052", "E331284", "E206805", "E298312", "E336167", "E336883", "E…
#> $ Location_Name <chr> "MINE WATER TREATMENT PLANT INFLUENT PRETIUM", "BLACKWATER MINE PE11…
#> $ Location_Type <chr> "In-Plant", "River, Stream, or Creek", "River, Stream, or Creek", "R…
#> $ Location_Latitude <dbl> 56.46830, 53.27730, 49.57360, 56.46960, 49.36102, 53.08952, 56.05830…
#> $ Location_Longitude <dbl> -130.1857, -124.8541, -125.5814, -130.1878, -120.4950, -121.5930, -1…
#> $ Location_Elevation <dbl> NA, NA, NA, 1400, NA, NA, NA, NA, NA, NA, 382, NA, NA, NA, NA, NA, N…
#> $ Location_Elevation_Units <chr> NA, NA, NA, "metre", NA, NA, NA, NA, NA, NA, "metre", NA, NA, NA, NA…
#> $ Location_Group <chr> NA, NA, "6858", "107835", "261", NA, "8044", "17756", "17679", "1655…
#> $ Field_Visit_Start_Time <dttm> 2026-01-05 22:35:00, 2026-01-17 22:20:00, 2026-01-28 08:00:00, 2026…
#> $ Field_Visit_End_Time <dttm> NA, NA, NA, NA, NA, 2026-01-08 22:40:00, NA, NA, NA, NA, 2026-01-13…
#> $ Field_Visit_Participants <chr> "B G G W", "BWG", NA, "B G G W", "AN MM", "AH JTD LT"…
#> $ Field_Comment <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Field_Filtered <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE…
#> $ Field_Filtered_Comment <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Field_Preservative <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Field_Device_ID <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Field_Device_Type <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Sampling_Context_Tag <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Collection_Method <chr> "Time Composite: Segmented Discrete", "Grab", "Grab", "Grab", "Grab"…
#> $ Medium <chr> "Water - Waste", "Water - Fresh", "Water - Fresh", "Water - Fresh", …
#> $ Taxonomy <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Taxonomy_Common_Name <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Depth_Upper <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Depth_Lower <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Depth_Unit <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Observed_Date_Time <dttm> 2026-01-05 22:35:00, 2026-01-17 22:20:00, 2026-01-28 08:00:00, 2026…
#> $ Observed_Date_Time_Start <chr> "2026-01-05T14:35-08:00", "2026-01-17T14:20-08:00", "2026-01-28T00:0…
#> $ Observed_Date_Time_End <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Observed_Property_ID <chr> "Cadmium Total (fl. conc.)", "Vanadium Dissolved (fl. conc.)", "Alka…
#> $ Observed_Property_Description <chr> "Metals - Total; EMS code: CD-T", "Metals - Dissolved; EMS code: V--…
#> $ Observed_Property_Analysis_Type <chr> "CHEMICAL", "CHEMICAL", "CHEMICAL", "CHEMICAL", "CHEMICAL", "CHEMICA…
#> $ Observed_Property_Result_Type <chr> "NUMERIC", "NUMERIC", "NUMERIC", "NUMERIC", "NUMERIC", "NUMERIC", "N…
#> $ Observed_Property_Name <chr> "CD-T", "V--D", "0102", "AS-T", "MG-D", "NI-D", "V--T", "AL-T", "V--…
#> $ CAS_Number <chr> "7440-43-9", "7440-62-2", NA, "7440-38-2", "7439-95-4", "7440-02-0",…
#> $ Result_Value <dbl> 2.8900e-03, 5.0000e-04, 2.7600e+01, 3.5200e-03, 6.2700e+01, 8.0000e-…
#> $ Method_Detection_Limit <dbl> 1e-05, 5e-04, 1e+00, 1e-04, 5e-03, 5e-04, 5e-04, 3e-03, 5e-04, 5e-05…
#> $ Method_Reporting_Limit <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Result_Unit <chr> "mg/L", "mg/L", "mg/L", "mg/L", "mg/L", "mg/L", "mg/L", "mg/L", "mg/…
#> $ Detection_Condition <chr> NA, "NOT_DETECTED", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Composite_Stat <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Fraction <chr> "TOTAL", "DISSOLVED", "TOTAL", "TOTAL", "DISSOLVED", "DISSOLVED", "T…
#> $ Data_Classification <chr> "LAB", "LAB", "LAB", "LAB", "LAB", "LAB", "LAB", "LAB", "LAB", "LAB"…
#> $ Analyzing_Agency <chr> "ALS", "ALS", "CAR", "ALS", "ALS", "ALS", "ALS", "ALS", "ALS", "ALS"…
#> $ Analyzing_Agency_Full_Name <chr> "ALS Global", "ALS Global", "CARO Environmental Services", "ALS Glob…
#> $ Analysis_Method <chr> "Aliquot:HNO3/HCL dig:ICPMS", "Filt.:Acid:ICPMS", "Auto Potentiometr…
#> $ Analyzed_Date_Time <chr> "2026-01-10T00:00-08:00", "2026-01-26T00:00-08:00", "2026-02-05T15:4…
#> $ Result_Status <chr> "Preliminary", "Preliminary", "Preliminary", "Preliminary", "Prelimi…
#> $ Result_Grade <chr> "Ungraded", "Ungraded", "Ungraded", "Ungraded", "Ungraded", "Ungrade…
#> $ Activity_Name <chr> "4793547;REGULAR;;Water - Waste;E303052;2026-01-05T14:35:00-08:00;Ti…
#> $ Tissue_Type <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Lab_Arrival_Temperature <dbl> NA, NA, 9, NA, NA, NA, NA, NA, NA, NA, 6, 12, NA, 3, NA, 17, 9, NA, …
#> $ Specimen_Name <chr> "Metals - Total", "Metals - Dissolved", "Major Ions", "Metals - Tota…
#> $ Lab_Quality_Flag <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Lab_Arrival_Date_Time <chr> "2026-01-06T21:15-08:00", "2026-01-22T11:45-08:00", "2026-02-02T11:4…
#> $ Lab_Prepared_Date_Time <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Lab_Sample_ID <chr> "003", "004", "26B0079-02", "001", "005", "003", "003", "002", "008"…
#> $ Lab_Dilution_Factor <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Lab_Comment <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Lab_Batch_ID <chr> "VA26A0226", "VA26A1580", "B6B2050", "VA26A0232", "VA26A0622", "VA26…
#> $ QC_Type <chr> "NORMAL", "NORMAL", "NORMAL", "NORMAL", "NORMAL", "NORMAL", "NORMAL"…
#> $ QC_Source_Activity_Name <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Analysis_Method_ID <chr> "F082", "F032", "X310", "F082", "F032", "F032", "F082", "F082", "F08…
#> $ filename <chr> "/home/steffi/.local/share/R/renmods/this_yr.csv.gz", "/home/steffi/…Remind yourself of the column names
colnames(db)
#> [1] "Ministry_Contact" "Sampling_Agency" "Project"
#> [4] "Project_Name" "Work_Order_number" "Location_ID"
#> [7] "Location_Name" "Location_Type" "Location_Latitude"
#> [10] "Location_Longitude" "Location_Elevation" "Location_Elevation_Units"
#> [13] "Location_Group" "Field_Visit_Start_Time" "Field_Visit_End_Time"
#> [16] "Field_Visit_Participants" "Field_Comment" "Field_Filtered"
#> [19] "Field_Filtered_Comment" "Field_Preservative" "Field_Device_ID"
#> [22] "Field_Device_Type" "Sampling_Context_Tag" "Collection_Method"
#> [25] "Medium" "Taxonomy" "Taxonomy_Common_Name"
#> [28] "Depth_Upper" "Depth_Lower" "Depth_Unit"
#> [31] "Observed_Date_Time" "Observed_Date_Time_Start" "Observed_Date_Time_End"
#> [34] "Observed_Property_ID" "Observed_Property_Description" "Observed_Property_Analysis_Type"
#> [37] "Observed_Property_Result_Type" "Observed_Property_Name" "CAS_Number"
#> [40] "Result_Value" "Method_Detection_Limit" "Method_Reporting_Limit"
#> [43] "Result_Unit" "Detection_Condition" "Composite_Stat"
#> [46] "Fraction" "Data_Classification" "Analyzing_Agency"
#> [49] "Analyzing_Agency_Full_Name" "Analysis_Method" "Analyzed_Date_Time"
#> [52] "Result_Status" "Result_Grade" "Activity_Name"
#> [55] "Tissue_Type" "Lab_Arrival_Temperature" "Specimen_Name"
#> [58] "Lab_Quality_Flag" "Lab_Arrival_Date_Time" "Lab_Prepared_Date_Time"
#> [61] "Lab_Sample_ID" "Lab_Dilution_Factor" "Lab_Comment"
#> [64] "Lab_Batch_ID" "QC_Type" "QC_Source_Activity_Name"
#> [67] "Analysis_Method_ID" "filename"Now we can filter by column values and collect the data into R
df <- db |>
filter(Location_ID %in% c("E303052", "E309247")) |>
collect()
df
#> # A tibble: 1,193 × 68
#> Ministry_Contact Sampling_Agency Project Project_Name Work_Order_number Location_ID Location_Name
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 Breanne Hill 74 - Permittee <NA> <NA> VA26A0226 E303052 MINE WATER TREATMENT P…
#> 2 Winnie Chan 74 - Permittee <NA> <NA> FJ2600203 E309247 CONUMA - BRULE MINE PE…
#> 3 Winnie Chan 74 - Permittee <NA> <NA> FJ2600007 E309247 CONUMA - BRULE MINE PE…
#> 4 Winnie Chan 74 - Permittee <NA> <NA> FJ2600178 E309247 CONUMA - BRULE MINE PE…
#> 5 Winnie Chan 74 - Permittee <NA> <NA> FJ2600095 E309247 CONUMA - BRULE MINE PE…
#> 6 Winnie Chan 74 - Permittee <NA> <NA> FJ2600009 E309247 CONUMA - BRULE MINE PE…
#> 7 Breanne Hill 74 - Permittee <NA> <NA> VA26A1318 E303052 MINE WATER TREATMENT P…
#> 8 Winnie Chan 74 - Permittee <NA> <NA> FJ2600095 E309247 CONUMA - BRULE MINE PE…
#> 9 Winnie Chan 74 - Permittee <NA> <NA> FJ2600040 E309247 CONUMA - BRULE MINE PE…
#> 10 Breanne Hill 74 - Permittee <NA> <NA> VA26A1318 E303052 MINE WATER TREATMENT P…
#> # ℹ 1,183 more rows
#> # ℹ 61 more variables: Location_Type <chr>, Location_Latitude <dbl>, Location_Longitude <dbl>,
#> # Location_Elevation <dbl>, Location_Elevation_Units <chr>, Location_Group <chr>,
#> # Field_Visit_Start_Time <dttm>, Field_Visit_End_Time <dttm>, Field_Visit_Participants <chr>,
#> # Field_Comment <chr>, Field_Filtered <lgl>, Field_Filtered_Comment <chr>, Field_Preservative <chr>,
#> # Field_Device_ID <chr>, Field_Device_Type <chr>, Sampling_Context_Tag <chr>, Collection_Method <chr>,
#> # Medium <chr>, Taxonomy <chr>, Taxonomy_Common_Name <chr>, Depth_Upper <dbl>, Depth_Lower <dbl>, …You can also pre-select your columns of interest.
df <- db |>
filter(Location_ID %in% c("E303052", "E309247")) |>
select(
"Location_ID",
"Location_Name",
"Observed_Date_Time",
"Observed_Property_Name",
"Result_Value",
"Result_Unit",
"Analysis_Method_ID"
) |>
collect()
df
#> # A tibble: 1,193 × 7
#> Location_ID Location_Name Observed_Date_Time Observed_Property_Name Result_Value Result_Unit
#> <chr> <chr> <dttm> <chr> <dbl> <chr>
#> 1 E303052 MINE WATER TREATMENT PLANT… 2026-01-05 22:35:00 CD-T 0.00289 mg/L
#> 2 E309247 CONUMA - BRULE MINE PE1767… 2026-01-28 19:32:00 V--T 0.001 mg/L
#> 3 E309247 CONUMA - BRULE MINE PE1767… 2026-01-02 20:19:01 P--T 0.008 mg/L
#> 4 E309247 CONUMA - BRULE MINE PE1767… 2026-01-25 20:08:00 SR-T 0.322 mg/L
#> 5 E309247 CONUMA - BRULE MINE PE1767… 2026-01-14 19:59:00 0015 26.8 NTU
#> 6 E309247 CONUMA - BRULE MINE PE1767… 2026-01-04 21:12:00 AS-T 0.00028 mg/L
#> 7 E303052 MINE WATER TREATMENT PLANT… 2026-01-19 22:45:00 1110 27.9 mg/L
#> 8 E309247 CONUMA - BRULE MINE PE1767… 2026-01-14 19:59:00 0039 206 mV
#> 9 E309247 CONUMA - BRULE MINE PE1767… 2026-01-07 20:20:00 BI-T 0.0001 mg/L
#> 10 E303052 MINE WATER TREATMENT PLANT… 2026-01-19 22:45:00 CD-D 0.0000214 mg/L
#> # ℹ 1,183 more rows
#> # ℹ 1 more variable: Analysis_Method_ID <chr>Don’t forget to close the connection to the database