The data-raw/individual.R
script contains the code required to prepare the raw data for analysis.
Your script should contain:
## code to prepare `individual` dataset goes here
## Setup
library(dplyr)
source(here::here("R", "geolocate.R"))
## Combine individual tables ----
# Create paths to inputs
raw_data_path <- here::here("data-raw", "wood-survey-data-master")
individual_paths <- fs::dir_ls(fs::path(raw_data_path, "individual"))
# read in all individual tables into one
individual <- purrr::map(
individual_paths,
~ readr::read_csv(
file = .x,
col_types = readr::cols(.default = "c"),
show_col_types = FALSE
)
) %>%
purrr::list_rbind() %>%
readr::type_convert()
individual %>%
readr::write_csv(file = fs::path(raw_data_path, "vst_individuals.csv"))
# Combine NEON data tables ----
# read in additional table
maptag <- readr::read_csv(
fs::path(
raw_data_path,
"vst_mappingandtagging.csv"
),
show_col_types = FALSE
) %>%
select(-eventID)
perplot <- readr::read_csv(
fs::path(
raw_data_path,
"vst_perplotperyear.csv"
),
show_col_types = FALSE
) %>%
select(-eventID)
# Left join tables to individual
individual %<>%
left_join(maptag,
by = "individualID",
suffix = c("", "_map")
) %>%
left_join(perplot,
by = "plotID",
suffix = c("", "_ppl")
) %>%
assertr::assert(
assertr::not_na, stemDistance, stemAzimuth, pointID,
decimalLongitude, decimalLatitude, plotID
)
# ---- Geolocate individuals_functions ----
individual <- individual %>%
mutate(
stemLat = get_stem_location(
decimalLongitude = decimalLongitude,
decimalLatitude = decimalLatitude,
stemAzimuth = stemAzimuth,
stemDistance = stemDistance
)$lat,
stemLon = get_stem_location(
decimalLongitude = decimalLongitude,
decimalLatitude = decimalLatitude,
stemAzimuth = stemAzimuth,
stemDistance = stemDistance
)$lon
)
# create data directory
fs::dir_create(here::here("data"))
# write out analytic file
individual %>%
janitor::clean_names() %>%
readr::write_csv(here::here("data", "individual.csv"))
Back to top