Nothing
## ----global options, include = FALSE------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
knitr::opts_knit$set(root.dir = tempdir())
## ----setup--------------------------------------------------------------------
library(gcplyr)
library(dplyr)
library(ggplot2)
library(tidyr)
## -----------------------------------------------------------------------------
ex_dat_mrg <- make_example(vignette = 7, example = 1)
# Plot with a log y-axis
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes"),
aes(x = Time, y = Measurements)) +
geom_point() +
geom_line(data = dplyr::filter(ex_dat_mrg, noise == "No"),
lty = 2, color = "red") +
facet_wrap(~Well) +
scale_y_continuous(trans = "log10")
## -----------------------------------------------------------------------------
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
deriv_2 = calc_deriv(x = Time, y = Measurements),
derivpercap_2 = calc_deriv(x = Time, y = Measurements,
percapita = TRUE, blank = 0))
# Plot derivative
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes"),
aes(x = Time, y = deriv_2)) +
geom_point() +
geom_line(data = dplyr::filter(ex_dat_mrg, noise == "No"),
lty = 2, color = "red") +
facet_wrap(~Well, scales = "free_y")
# Plot per-capita derivative
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes"),
aes(x = Time, y = derivpercap_2)) +
geom_point() +
geom_line(data = dplyr::filter(ex_dat_mrg, noise == "No"),
lty = 2, color = "red") +
facet_wrap(~Well, scales = "free_y")
## -----------------------------------------------------------------------------
#Plot density
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes"),
aes(x = Time, y = Measurements)) +
geom_point() +
facet_wrap(~Well, scales = "free_y") +
scale_y_log10()
# Plot per-capita derivative
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes"),
aes(x = Time, y = derivpercap_2)) +
geom_point() +
facet_wrap(~Well, scales = "free_y")
## -----------------------------------------------------------------------------
#Plot density
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes", Measurements > 0.01),
aes(x = Time, y = Measurements)) +
geom_point() +
facet_wrap(~Well, scales = "free_y") +
geom_hline(yintercept = 0.01, lty = 2) +
scale_y_log10()
# Plot per-capita derivative
ggplot(data = dplyr::filter(ex_dat_mrg, noise == "Yes", Measurements > 0.01),
aes(x = Time, y = derivpercap_2)) +
geom_point() +
facet_wrap(~Well, scales = "free_y")
## -----------------------------------------------------------------------------
ex_dat_mrg_sum <-
summarize(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
max_growth_rate = max(derivpercap_2[Measurements > 0.01],
na.rm = TRUE))
head(ex_dat_mrg_sum)
## -----------------------------------------------------------------------------
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
deriv_5 = calc_deriv(x = Time, y = Measurements,
window_width_n = 5),
derivpercap_5 = calc_deriv(x = Time, y = Measurements,
percapita = TRUE, blank = 0,
window_width_n = 5),
deriv_9 = calc_deriv(x = Time, y = Measurements,
window_width_n = 9),
derivpercap_9 = calc_deriv(x = Time, y = Measurements,
percapita = TRUE, blank = 0,
window_width_n = 9))
#Reshape our data for plotting purposes
ex_dat_mrg_wide <-
pivot_longer(ex_dat_mrg, cols = starts_with("deriv"),
names_to = c("deriv", "window_width_n"), names_sep = "_")
ex_dat_mrg_wide <-
pivot_wider(ex_dat_mrg_wide, names_from = deriv, values_from = value)
#Plot derivative
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = deriv)) +
geom_line(aes(color = window_width_n), linewidth = 0.6) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 2),
lty = 2, color = "red") +
scale_color_grey(start = 0.8, end = 0) +
theme_bw()
#Plot per-capita derivative
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = derivpercap)) +
geom_line(aes(color = window_width_n), linewidth = 0.6, alpha = 0.75) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 5),
lty = 2, color = "red") +
scale_color_grey(start = 0.8, end = 0) +
ylim(NA, 5) +
theme_bw()
## -----------------------------------------------------------------------------
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
movmed_1 = Measurements,
movmed_5 =
smooth_data(x = Time, y = Measurements,
sm_method = "moving-median", window_width_n = 5),
movmed_9 =
smooth_data(x = Time, y = Measurements,
sm_method = "moving-median", window_width_n = 9))
#Reshape our data for plotting purposes
ex_dat_mrg_wide <-
pivot_longer(ex_dat_mrg, cols = starts_with("movmed"),
names_prefix = "movmed_", names_to = "window_width_n")
#Plot data
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = value)) +
geom_line(aes(color = window_width_n), linewidth = 0.6, alpha = 0.75) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 1),
lty = 2, color = "red") +
scale_color_grey(start = 0.8, end = 0) +
scale_y_log10() +
ggtitle("moving-median") +
theme_bw()
## -----------------------------------------------------------------------------
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
movavg_1 = Measurements,
movavg_5 = smooth_data(x = Time, y = Measurements,
sm_method = "moving-average", window_width_n = 5),
movavg_9 = smooth_data(x = Time, y = Measurements,
sm_method = "moving-average", window_width_n = 9))
#Reshape our data for plotting purposes
ex_dat_mrg_wide <-
pivot_longer(ex_dat_mrg, cols = starts_with("movavg"),
names_prefix = "movavg_", names_to = "window_width_n")
#Plot data
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = value)) +
geom_line(aes(color = window_width_n), linewidth = 0.6, alpha = 0.75) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 1),
lty = 2, color = "red") +
scale_color_grey(start = 0.8, end = 0) +
scale_y_log10() +
ggtitle("moving-average") +
theme_bw()
## -----------------------------------------------------------------------------
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
smoothed_no = Measurements,
sm_med3 =
smooth_data(x = Time, y = Measurements,
sm_method = "moving-median", window_width_n = 3),
#Note that for the second round, we're using the
#first smoothing as the input y
smoothed_yes =
smooth_data(x = Time, y = sm_med3,
sm_method = "moving-average", window_width_n = 3))
#Reshape our data for plotting purposes
ex_dat_mrg_wide <-
pivot_longer(ex_dat_mrg, cols = starts_with("smoothed"),
names_to = "smoothed", names_prefix = "smoothed_")
#Plot data
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = value, color = smoothed)) +
geom_line(linewidth = 0.6, alpha = 0.75) +
scale_color_grey(start = 0.8, end = 0) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", smoothed == "no"),
lty = 2, color = "red") +
scale_y_log10() +
ggtitle("median then average smoothing") +
theme_bw()
## -----------------------------------------------------------------------------
ex_dat_mrg_fortraining <- make_example(vignette = 7, example = 2)
training_results <-
reframe(group_by(ex_dat_mrg_fortraining, Bacteria_strain, Phage, Well),
train_smooth_data(x = Time, y = Measurements,
sm_method = "moving-average",
tuneLength = 5))
head(training_results)
## -----------------------------------------------------------------------------
ggplot(data = training_results,
aes(x = window_width_n, y = RMSE)) +
geom_point()
## -----------------------------------------------------------------------------
training_results <-
reframe(group_by(ex_dat_mrg_fortraining, Bacteria_strain, Phage, Well),
train_smooth_data(x = Time, y = Measurements,
sm_method = "moving-average",
tuneGrid = list(
"window_width_n" = c(1, 3, 5, 9, 13))))
ggplot(data = training_results,
aes(x = window_width_n, y = RMSE)) +
geom_point()
## -----------------------------------------------------------------------------
# Note here that we're calculating derivatives of the smoothed column generated
# in the previous section by combining moving median and moving average smoothing
ex_dat_mrg <-
mutate(group_by(ex_dat_mrg, Well, Bacteria_strain, Phage, noise),
smderiv_0 = calc_deriv(x = Time, y = Measurements),
smderivpercap_0 = calc_deriv(x = Time, y = Measurements,
percapita = TRUE, blank = 0),
smderiv_3 = calc_deriv(x = Time, y = smoothed_yes, window_width_n = 3),
smderivpercap_3 = calc_deriv(x = Time, y = smoothed_yes, percapita = TRUE,
blank = 0, window_width_n = 3))
#Reshape our data for plotting purposes
ex_dat_mrg_wide <-
pivot_longer(ex_dat_mrg, cols = starts_with("smderiv"),
names_to = c("deriv", "window_width_n"), names_sep = "_")
ex_dat_mrg_wide <-
pivot_wider(ex_dat_mrg_wide, names_from = deriv, values_from = value)
#Plot derivative
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = smderiv, color = window_width_n)) +
geom_line(linewidth = 0.6, alpha = 0.75) +
scale_color_grey(start = 0.8, end = 0) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 0),
lty = 2, color = "red") +
theme_bw()
#Plot per-capita derivative
ggplot(data = dplyr::filter(ex_dat_mrg_wide, noise == "Yes"),
aes(x = Time, y = smderivpercap, color = window_width_n)) +
geom_line(linewidth = 0.6, alpha = 0.75) +
scale_color_grey(start = 0.8, end = 0) +
facet_wrap(~Well, scales = "free_y") +
geom_line(data = dplyr::filter(ex_dat_mrg_wide,
noise == "No", window_width_n == 3),
lty = 2, color = "red") +
ylim(NA, 5) +
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.