GithubHelp home page GithubHelp logo

special-uor / smpds Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 345.68 MB

The SPECIAL Modern Pollen Data for climate reconstructionS

Home Page: https://special-uor.github.io/smpds/

License: Other

R 99.13% TeX 0.86% Shell 0.01%
pollen pnv climate-reconstruction

smpds's Introduction

SMPDS: The SPECIAL Modern Pollen Data for Climate Reconstructions

R build status

The goal of smpds is to provide access to the SPECIAL Modern Pollen Data Set for Climate Reconstructions (SMPDS).

Installation

You can(not) install the released version of SMPDS from CRAN with:

install.packages("smpds")

And the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("special-uor/smpds")

Example

Load tables to the working environment

data("climate", package = "smpds")
data("entity", package = "smpds")
data("pollen_count", package = "smpds")
data("taxon_name", package = "smpds")

Create a snapshot of entities

The function smpds::snapshot takes few different parameters and based on the first one, x, it returns a variety of snapshots.

This function returns a list with 3 components:

  • entity: data frame (tibble object) with the metadata associated to the entities.

  • climate: data frame (tibble object) with the climate and vegetation reconstructions. This one can be linked to the entity table using the column called ID_SAMPLE.

  • pollen_count: list of data frames (tibble objects) containing the pollen counts for 3 levels of “amalgamation”:

    • clean
    • intermediate
    • amalgamated

    All these data frames can be linked to the entity table using the column called ID_SAMPLE.

⚠️ NOTE: the output is returned “invisibly”, so you should assign the output of the function to a variable.

output <- smpds::snapshot(...)
output$entity
output$climate
output$pollen_count$clean
output$pollen_count$intermediate
output$pollen_count$intermediate
Using the entity_name
smpds::snapshot("juodonys_core")
#> # A tibble: 1 × 6
#>   ID_SITE ID_ENTITY ID_SAMPLE site_name entity_name   pollen_counts$clean
#>     <int>     <int>     <int> <chr>     <chr>                       <int>
#> 1    3890      7901         1 Juodonys  juodonys_core                   1
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Using the site_name
smpds::snapshot("Petresiunai", use_site_name = TRUE)
#> # A tibble: 1 × 6
#>   ID_SITE ID_ENTITY ID_SAMPLE site_name   entity_name     pollen_counts$clean
#>     <int>     <int>     <int> <chr>       <chr>                         <int>
#> 1    6690     14229         2 Petresiunai petresiunai_121                   1
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Using the ID_ENTITY
smpds::snapshot(2)
#> # A tibble: 1 × 6
#>   ID_SITE ID_ENTITY ID_SAMPLE site_name entity_name pollen_counts$clean
#>     <int>     <int>     <int> <chr>     <chr>                     <int>
#> 1       1         2      9710 05-Mo     05-Mo-10                      1
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Using the ID_SITE
smpds::snapshot(3, use_id_site = TRUE)
#> # A tibble: 1 × 6
#>   ID_SITE ID_ENTITY ID_SAMPLE site_name  entity_name pollen_counts$clean
#>     <int>     <int>     <int> <chr>      <chr>                     <int>
#> 1       3        37     15871 11 [HFL11] HFL11                         1
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Extracting multiple records at once
smpds::snapshot(1:10)
#> # A tibble: 10 × 6
#>    ID_SITE ID_ENTITY ID_SAMPLE site_name entity_name pollen_counts$clean
#>      <int>     <int>     <int> <chr>     <chr>                     <int>
#>  1       1         1      9709 05-Mo     05-Mo                        10
#>  2       1         2      9710 05-Mo     05-Mo-10                     10
#>  3       1         3      9711 05-Mo     05-Mo-11                     10
#>  4       1         4      9712 05-Mo     05-Mo-12                     10
#>  5       1         5      9713 05-Mo     05-Mo-13                     10
#>  6       1         6      9714 05-Mo     05-Mo-14                     10
#>  7       1         7      9715 05-Mo     05-Mo-15                     10
#>  8       1         8      9716 05-Mo     05-Mo-16                     10
#>  9       1         9      9717 05-Mo     05-Mo-17                     10
#> 10       1        10      9718 05-Mo     05-Mo-18                     10
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Extracting all the records at once

This will run very slow, so if only few entities are required, it would be better to indicate which, based on the previous examples.

out <- smpds::snapshot()

Export data as individual CSV files

The function smpds::write_csvs takes to parameters:

  • .data: a list of class snapshot, this one can be generated using the function smpds::snapshot (see previous section).
  • prefix: a prefix name to be included in each individual files, this prefix can include a relative or absolute path to a directory in the local machine.
Without a path
`%>%` <- smpds::`%>%`
smpds::snapshot("juodonys_core") %>%
  smpds::write_csvs(prefix = "juodonys_core")
#> # A tibble: 1 × 6
#>   ID_SITE ID_ENTITY ID_SAMPLE site_name entity_name   pollen_counts$clean
#>     <int>     <int>     <int> <chr>     <chr>                       <int>
#> 1    3890      7901         1 Juodonys  juodonys_core                   1
#> # … with 2 more variables: pollen_counts$intermediate <int>, $amalgamated <int>
Output
#>                                          levelName
#> 1 .                                               
#> 2  ¦--juodonys_core_metadata.csv                  
#> 3  ¦--juodonys_core_pollen_counts_amalgamated.csv 
#> 4  ¦--juodonys_core_pollen_counts_clean.csv       
#> 5  °--juodonys_core_pollen_counts_intermediate.csv
Including a path
`%>%` <- smpds::`%>%`
smpds::snapshot("juodonys_core") %>%
  smpds::write_csvs(prefix = "/special.uor/epd/juodonys_core")
Output
#>                                              levelName
#> 1 special.uor                                         
#> 2  °--epd                                             
#> 3      ¦--juodonys_core_metadata.csv                  
#> 4      ¦--juodonys_core_pollen_counts_amalgamated.csv 
#> 5      ¦--juodonys_core_pollen_counts_clean.csv       
#> 6      °--juodonys_core_pollen_counts_intermediate.csv

Spatial distribution of the entities

Potential Natural Vegetation (PNV)
smpds::SMPDSv2 %>%
  smpds::plot_biome()

Growing Degree Days aboce 0 deg Celsius (gdd0)
smpds::SMPDSv2 %>%
  smpds::plot_gdd()

Mean Temperature of the COldest month (mtco)
smpds::SMPDSv2 %>%
  smpds::plot_mtco()

Moisture Index (mi)
smpds::SMPDSv2 %>%
  smpds::plot_mi()

Code of Conduct

Please note that the SMPDS project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Publications

This package is a companion to the following dataset:

Villegas-Diaz, R., Harrison, S. P., 2022. The SPECIAL Modern Pollen Data Set for Climate Reconstructions, version 2 (SMPDSv2). University of Reading. Dataset. https://doi.org/10.17864/1947.000389

smpds's People

Contributors

villegar avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

eriochrome13

smpds's Issues

Add option for custom interpolation area

The current version of tps uses the function sf::st_bbox() to find the region that contains all given the observations; however, it would be useful if the users can define their own interpolation space manually, something like:

smpds::tps(..., grid_boundary = c(xmin = -180, ymin = -90, xmax = 180, ymax = 90)

This option would be particularly useful for variables where there are small number of observations, but the users needs a map on the same scale do comparisons across predictors.

Suggested by Geogina Tang

Improve performance for interpolation

The current version of smpds::tps does not take advantage of the cpus argument. It would be useful to implement it, so for large "interpolating grids" the memory can be overloaded with large vectors (i.e. when running raster::interpolate, large interpolation areas will be computationally intensive). A quick implementation with furrr should be enough.

Handle missing data in the calculation of MI

When there's missing data in one of the climate variables (sf, tmp, etc.), the following error is returned:

Error in if ((rnl - rw * ru)/(rw * rv) >= 1) { : 
  missing value where TRUE/FALSE needed

I have traced back the error to the SPLASHv1 code for the calculation of "net radiation cross-over angle" (https://github.com/villegar/splash/blob/51eefb9a4a906cd8b4f5ca37b48c181ce1297a64/R/solar.R#L443), this should be look into to avoid further errors when calculating MI.

The error can be reproduced using the following code:

Test data
test_data <- structure(list(site_name = "Bulga14", entity_name = "Barboni_a712", 
    latitude = 43.31805556, longitude = 31.1, elevation = 0, 
    age_BP = NA_character_, sf = list(c(NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_)), pre = list(c(NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_)), tmp = list(c(NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_))), row.names = c(NA, -1L), class = c("tbl_df", 
"tbl", "data.frame"))
Function call
.data %>% smpds::mi()
Error
Attaching package:purrrThe following object is masked frompackage:magrittr:

    set_names

Error in if ((rnl - rw * ru)/(rw * rv) >= 1) { : 
  missing value where TRUE/FALSE needed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.