Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cont-limno/LAGOSNE

Interface to the LAke multi-scaled GeOSpatial & temporal database :earth_americas:
https://github.com/cont-limno/LAGOSNE

cran ecology geoscience limnology rstats water-quality

Last synced: 3 months ago
JSON representation

Interface to the LAke multi-scaled GeOSpatial & temporal database :earth_americas:

Awesome Lists containing this project

README

        

---
output: github_document
editor_options:
chunk_output_type: console
---

```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```

[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![R-CMD-check](https://github.com/cont-limno/LAGOSNE/actions/workflows/R-CMD-check.yml/badge.svg)](https://github.com/cont-limno/LAGOSNE/actions/workflows/R-CMD-check.yml) [![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/LAGOSNE)](https://cran.r-project.org/package=LAGOSNE) [![CRAN RStudio mirror downloads](http://cranlogs.r-pkg.org/badges/LAGOSNE)](https://cran.r-project.org/package=LAGOSNE)

[![NSF-1065786](https://img.shields.io/badge/NSF-1065786-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1065786) [![NSF-1638679](https://img.shields.io/badge/NSF-1638679-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1638679) [![NSF-1065649](https://img.shields.io/badge/NSF-1065649-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1065649) [![NSF-1065818](https://img.shields.io/badge/NSF-1065818-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1065818) [![NSF-1638554](https://img.shields.io/badge/NSF-1638554-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1638554)

# LAGOSNE

The `LAGOSNE` package provides an R interface to download LAGOS-NE data, store this data locally, and perform a variety of filtering and subsetting operations.

LAGOS-NE contains data for 51,101 lakes and reservoirs larger than 4 ha in 17 lake-rich US states. The database includes 3 data modules for: lake location and physical characteristics for all lakes; ecological context (i.e., the land use, geologic, climatic, and hydrologic setting of lakes) for all lakes; and in situ measurements of lake water quality for a subset of the lakes from the past 3 decades for approximately 2,600-12,000 lakes depending on the variable (see Soranno et al. 2017 [below](https://github.com/cont-limno/LAGOSNE#references)).

## Installation

```{r install,eval=FALSE}
# install stable version from CRAN
install.packages("LAGOSNE")

# install development version from Github
# install devtools if not found - install.packages("devtools")
# devtools::install_github("cont-limno/LAGOSNE", dependencies = TRUE)
```

### Data

The `lagosne_get` function downloads the LAGOSNE files corresponding to the specified version from the [EDI data repository](https://portal.edirepository.org/nis/home.jsp). Files are stored in a temporary directory before being "compiled" to an `R` data format in the location specified by the `dest_folder` argument. Recommended setting is `lagos_path()`. Data only needs to be downloaded one time per version per machine. Each `LAGOSNE` [module](https://cont-limno.github.io/LAGOSNE/articles/lagosne_structure.html) has a unique version number. However, only the limno module has been dynamically updated. Therefore the `LAGOSNE` `R` package uses the limno module version number to check-out specific datasets. **The latest version of the `LAGOSNE` dataset is `r LAGOSNE::lagosne_version()`.**

```{r get_data, eval=FALSE}
library(LAGOSNE)
lagosne_get(dest_folder = lagos_path())
```

## Usage

### Load Package

```{r load_library}
library(LAGOSNE)
```

### Load data

The `lagosne_load` function returns a named list of `data.frame` objects. Use the `names()` function to see a list of available data frames `names(dt)`.

```{r load_data, eval=FALSE}
dt <- lagosne_load()
names(dt)
```

```{r load_data_cached, eval=TRUE, echo=FALSE}
dt <- readRDS(system.file("lagos_test_subset.rds", package = "LAGOSNE"))
names(dt)
```

#### Locate tables containing a variable
```{r eval=FALSE}
query_lagos_names("secchi")
```

```{r echo=FALSE}
query_lagos_names("secchi", dt = dt)
```

#### Preview a table

```{r preview table}
head(dt$state)
```

#### Preview a specific lake

```{r lake_info, eval = FALSE}
lake_info(name = "Pine Lake", state = "Iowa")
# or using a lagoslakeid
# lake_info(lagoslakeid = 4389)
```

```{r lake_info_cached, echo = FALSE}
suppressWarnings(
lake_info(name = "Pine Lake", state = "Iowa", dt = dt)
)
```

#### Read table metadata

```{r load printr, echo=FALSE,message=FALSE,results='hide'}
loadNamespace("printr")
```

```{r Read metadata for individual tables}
help.search("datasets", package = "LAGOSNE")
```

```{r unload printr, echo=FALSE}
unloadNamespace("printr")
```

### Select data

`lagosne_select` is a convenience function whose primary purpose is to provide users with the ability to select subsets of LAGOS tables that correspond to specific keywords (see `LAGOSNE:::keyword_partial_key()` and `LAGOSNE:::keyword_full_key()`). See [here](http://adv-r.had.co.nz/Subsetting.html) for a comprehensive tutorial on generic `data.frame` subsetting.

```{r demo_select, eval=TRUE}
# specific variables
head(lagosne_select(table = "epi_nutr", vars = c("tp", "tn"), dt = dt))
head(lagosne_select(table = "iws.lulc", vars = c("iws_nlcd2011_pct_95"), dt = dt))

# categories
head(lagosne_select(table = "locus", categories = "id", dt = dt))
head(lagosne_select(table = "epi_nutr", categories = "waterquality", dt = dt))
head(lagosne_select(table = "hu4.chag", categories = "deposition", dt = dt)[,1:4])

# mix of specific variables and categories
head(lagosne_select(table = "epi_nutr", vars = "programname",
categories = c("id", "waterquality"), dt = dt))
```

## Published LAGOSNE subsets

```{r demo_pulling_other, eval = FALSE}
# Oliver et al. 2015
lagos_get_oliver_2015()
head(lagos_load_oliver_2015())

# Collins et al. 2017
lagos_get_collins_2017()
head(lagos_load_collins_2017())
```

## Legacy Versions

### R Package

To install versions of `LAGOSNE` compatible with older versions of LAGOS-NE run the following command where `ref` is set to the desired version (in the example, it is version 1.087.1):

```{r eval=FALSE}
# install devtools if not found
# install.packages("devtools")
devtools::install_github("cont-limno/LAGOSNE", ref = "v1.087.1")
```

## References

Oliver, SK, PA Soranno, CE Fergus, T Wagner, K Webster, CE Scott, LA Winslow, J Downing, and EH Stanley. 2015. “LAGOS - Predicted and Observed Maximum Depth Values for Lakes in a 17-State Region of the U.S.” https://dx.doi.org/10.6073/pasta/edc06bbae6db80e801b6e52253f2ea09.

Soranno, P.A., Bacon, L.C., Beauchene, M., Bednar, K.E., Bissell, E.G., Boudreau, C.K., Boyer, M.G., Bremigan, M.T., Carpenter, S.R., Carr, J.W. Cheruvelil, K.S., and ... , 2017. LAGOS-NE: A multi-scaled geospatial and temporal database of lake ecological context and water quality for thousands of US lakes. GigaScience, https://doi.org/10.1093/gigascience/gix101

Soranno, PA, EG Bissell, KS Cheruvelil, ST Christel, SM Collins, CE Fergus, CT Filstrup, et al. 2015. “Building a Multi-Scaled Geospatial Temporal Ecology Database from Disparate Data Sources: Fostering Open Science and Data Reuse.” Gigascience 4 (1). https://dx.doi.org/10.1186/s13742-015-0067-4.

Stachelek J., Oliver S. 2017. LAGOSNE: Interface to the Lake Multi-scaled Geospatial and Temporal Database. R package version 1.1.0. https://cran.r-project.org/package=LAGOSNE

Soranno P, Cheruvelil K. 2017. LAGOS-NE-LOCUS v1.01: a module for LAGOS-NE, a multi-scaled geospatial and temporal database of lake ecological context and water quality for thousands of U.S. Lakes: 1925–2013. Environmental Data Initiative. https://doi.org/10.6073/PASTA/0C23A789232AB4F92107E26F70A7D8EF

Soranno P, Cheruvelil K. 2019. LAGOS-NE-LIMNO v1.087.3: a module for LAGOS-NE, a multi-scaled geospatial and temporal database of lake ecological context and water quality for thousands of U.S. Lakes: 1925–2013. Environmental Data Initiative. https://doi.org/10.6073/PASTA/08C6F9311929F4874B01BCC64EB3B2D7.

Soranno P, Cheruvelil K. 2017. LAGOS-NE-GEO v1.05: a module for LAGOS-NE, a multi-scaled geospatial and temporal database of lake ecological context and water quality for thousands of U.S. Lakes: 1925–2013. Environmental Data Initiative. https://doi.org/10.6073/PASTA/16F4BDAA9607C845C0B261A580730A7A