Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width=6,
fig.height=4
)
## ----setup--------------------------------------------------------------------
library(soiltestcorr)
## ----warning=FALSE, message=FALSE---------------------------------------------
# Install if needed
library(ggplot2) # Plots
library(dplyr) # Data wrangling
library(tidyr) # Data wrangling
library(purrr) # Mapping
theme_set(theme_minimal())
## ----warning=F, message=F-----------------------------------------------------
# Clay loam simulated dataset
clay_loam <- dplyr::tibble(
"soil" = "clay_loam",
"RY" = c(65,80,85,88,90,94,93,96,97,95,98,100,99,99,100),
"STV" = seq(1, 15, by = 1) )
# Sandy loam simulated dataset
sandy_loam <- dplyr::tibble(
"soil" = "sandy_loam",
"RY" = c(55,70,80,84,89,92,90,94,99,92,96,100,100,99,99),
"STV" = seq(2, 16, by = 1))
# Merging soils datasets
dataframe_soils <- bind_rows(clay_loam, sandy_loam)
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_cn_65 <- boot_cn_1965(data = dataframe_soils,
stv = STV, ry = RY,
target = 90,
n = 100, # only 100 replicates to save compute time on demo
# Group by soil
soil = soil)
# CSTV Confidence Interval
boot_cn_65_sum <- boot_cn_65 %>%
group_by(soil) %>%
# Obtain quantiles of interest
summarise(q025 = quantile(CSTV, prob = 0.025, na.rm = TRUE),
median = quantile(CSTV, prob = 0.500, na.rm = TRUE),
q975 = quantile(CSTV, prob = 0.975, na.rm = TRUE)) %>%
ungroup()
# Plot CSTV
boot_cn_65 %>%
ggplot2::ggplot(aes(x = CSTV))+
geom_density(aes(fill = soil), color = "grey40", alpha = 0.5)+
# Draw lines
geom_vline(data = boot_cn_65_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
geom_vline(data = boot_cn_65_sum, aes(xintercept = q025, color = soil),
linetype = "dotted", linewidth = 0.5)+
geom_vline(data = boot_cn_65_sum, aes(xintercept = q975, color = soil),
linetype = "dotted", linewidth = 0.5)+
scale_x_continuous(limits = c(1,10), breaks = seq(1, 10, by = 1))+
labs(title = "boot_cn_1965()", x = "CSTV for RY=90%")
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_cn_71 <- boot_cn_1971(data = dataframe_soils,
stv = STV, ry = RY,
n = 100, # only 100 replicates to save compute time on demo
# Group by soil
soil = soil)
# CSTV Confidence Interval
boot_cn_71_sum <- boot_cn_71 %>%
group_by(soil) %>%
# Obtain quantiles of interest
summarise(q025 = quantile(CSTV, prob = 0.025, na.rm = TRUE),
median = quantile(CSTV, prob = 0.500, na.rm = TRUE),
q975 = quantile(CSTV, prob = 0.975, na.rm = TRUE))
# Plot CSTV
boot_cn_71 %>%
ungroup() %>%
ggplot2::ggplot(aes(x = CSTV, y = CRYV))+
geom_density_2d(aes(color = soil), shape = 21, alpha = 0.5)+
# Draw lines
geom_vline(data = boot_cn_71_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
scale_x_continuous(limits = c(1,10), breaks = seq(1, 10, by = 1))+
labs(title = "boot_cn_1971()", x = "CSTV for CRYV", y = "RV (%) at CSTV")
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_alcc <- boot_mod_alcc(data = dataframe_soils,
stv = STV, ry = RY,
target = 90, n = 1000,
# Group by id
soil = soil)
# CSTV Confidence Interval
boot_alcc_sum <- boot_alcc %>%
group_by(soil) %>%
# Obtain quantiles of interest
summarise(q025 = quantile(CSTV, prob = 0.025, na.rm = TRUE),
median = quantile(CSTV, prob = 0.500, na.rm = TRUE),
q975 = quantile(CSTV, prob = 0.975, na.rm = TRUE))
# Plot CSTV
boot_alcc %>%
ungroup() %>%
ggplot2::ggplot(aes(x = CSTV))+
geom_density(aes(fill = soil), color = "grey40", alpha = 0.5)+
# Draw lines
geom_vline(data = boot_alcc_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
geom_vline(data = boot_alcc_sum, aes(xintercept = q025, color = soil),
linetype = "dotted", linewidth = 0.5)+
geom_vline(data = boot_alcc_sum, aes(xintercept = q975, color = soil),
linetype = "dotted", linewidth = 0.5)+
scale_x_continuous(limits = c(1,10), breaks = seq(1, 10, by = 1))+
labs(title = "boot_mod_alcc()", x = "CSTV for RY=90%")+
theme_bw()
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_lp <- boot_linear_plateau(data = dataframe_soils,
stv = STV, ry = RY,
target = 90, n = 1e3,
# Group by soil
soil = soil)
# CSTV Confidence Interval
boot_lp_sum <- boot_lp %>%
group_by(soil) %>%
# Obtain quantiles of interest
# Note: for linear_plateau, the CSTV for a specific RY target = STVt
summarise(q025 = quantile(STVt, prob = 0.025, na.rm = TRUE),
median = quantile(STVt, prob = 0.500, na.rm = TRUE),
q975 = quantile(STVt, prob = 0.975, na.rm = TRUE))
# Plot STVt
boot_lp %>%
ungroup() %>%
ggplot2::ggplot(aes(x = STVt))+
geom_density(aes(fill = soil), color = "grey40", alpha = 0.5)+
# Draw lines
geom_vline(data = boot_lp_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
geom_vline(data = boot_lp_sum, aes(xintercept = q025, color = soil),
linetype = "dotted", linewidth = 0.5)+
geom_vline(data = boot_lp_sum, aes(xintercept = q975, color = soil),
linetype = "dotted", linewidth = 0.5)+
scale_x_continuous(limits = c(1,10), breaks = seq(1, 10, by = 1))+
labs(title = "boot_linear_plateau()", x = "STVt for RY=90%")+
theme_bw()
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_qp <- boot_quadratic_plateau(data = dataframe_soils,
stv = STV, ry = RY,
target = 90, n = 1000,
# Group by soil
soil = soil)
# CSTV Confidence Interval
boot_qp_sum <- boot_qp %>%
group_by(soil) %>%
# Obtain quantiles of interest
# Note: for quad_plateau, the CSTV for a specific RY target = STVt
summarise(q025 = quantile(STVt, prob = 0.025, na.rm = TRUE),
median = quantile(STVt, prob = 0.500, na.rm = TRUE),
q975 = quantile(STVt, prob = 0.975, na.rm = TRUE))
# Plot STVt
boot_qp %>%
ungroup() %>%
ggplot2::ggplot(aes(x = STVt))+
geom_density(aes(fill = soil), color = "grey40", alpha = 0.5)+
# Draw lines
geom_vline(data = boot_qp_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
geom_vline(data = boot_qp_sum, aes(xintercept = q025, color = soil),
linetype = "dotted", linewidth = 0.5)+
geom_vline(data = boot_qp_sum, aes(xintercept = q975, color = soil),
linetype = "dotted", linewidth = 0.5)+
scale_x_continuous(limits = c(1,10), breaks = seq(2, 10, by = 1))+
labs(title = "boot_quadratic_plateau()", x = "CSTV for RY=90%")+
theme_bw()
## ----warning=F, message=F-----------------------------------------------------
set.seed(123)
boot_mits <- boot_mitscherlich(data = dataframe_soils,
stv = STV, ry = RY, type = 1,
target = 90, n = 1e3,
# Group by soil
soil = soil)
# CSTV Confidence Interval
boot_mits_sum <- boot_mits %>%
group_by(soil) %>%
# Obtain quantiles of interest
summarise(q025 = quantile(CSTV, prob = 0.025, na.rm = TRUE),
median = quantile(CSTV, prob = 0.500, na.rm = TRUE),
q975 = quantile(CSTV, prob = 0.975, na.rm = TRUE))
# Plot CSTV
boot_mits %>%
ungroup() %>%
ggplot2::ggplot(aes(x = CSTV))+
geom_density(aes(fill = soil), color = "grey40", alpha = 0.5)+
# Draw lines
geom_vline(data = boot_mits_sum, aes(xintercept = median, color = soil),
linetype = "dashed", linewidth = 1)+
geom_vline(data = boot_mits_sum, aes(xintercept = q025, color = soil),
linetype = "dotted", linewidth = 0.5)+
geom_vline(data = boot_mits_sum, aes(xintercept = q975, color = soil),
linetype = "dotted", linewidth = 0.5)+
scale_x_continuous(limits = c(1,10), breaks = seq(1, 10, by = 1))+
labs(title = "boot_mitscherlich()", x = "CSTV for RY=90%")+
theme_bw()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.