Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----init---------------------------------------------------------------------
library(Luminescence)
## ----simulate_signal, fig.dim = c(8, 6), out.width="800px"--------------------
vn_simulated <- sample(x = c(rnorm(n = 30, mean = 2000, sd = 500),
rnorm(n = 70, mean = 20, sd = 1)),
size = 100)
vn_simulated <- round(vn_simulated) # Because photons are discrete
head(vn_simulated, n = 25)
hist(vn_simulated,
main = "Simulated signal (histogram)",
xlab = "Photon counts",
ylab = "Frequency",
breaks = 30
)
## ----show_disc_basic, fig.dim = c(7, 7), out.width="800px"--------------------
par(mar = c(1, 4, 6, 4))
plot_SingleGrainDisc(object = vn_simulated,
main = "Simulated signal (measurement disc)"
)
## ----calculate_moransI--------------------------------------------------------
calc_MoransI(object = vn_simulated)
calc_MoransI(object = vn_simulated, compute_pseudo_p = TRUE)
## ----add_crosstalk, fig.dim = c(8, 6), out.width="800px"----------------------
vn_simulated_with_crosstalk <- apply_Crosstalk(object = vn_simulated,
n_crosstalk = 0.10)
vn_simulated_with_crosstalk <- round(vn_simulated_with_crosstalk)
hist(vn_simulated_with_crosstalk,
main = "Simulated signal with crosstalk (histogram)",
xlab = "Photon counts",
ylab = "Frequency",
breaks = 30
)
plot_SingleGrainDisc(object = vn_simulated_with_crosstalk,
main = "Simulated signal with crosstalk (measurement disc)")
calc_MoransI(object = vn_simulated_with_crosstalk)
calc_MoransI(object = vn_simulated_with_crosstalk, compute_pseudo_p = TRUE)
## ----test_different_amounts, fig.dim = c(8, 6), out.width="800px"-------------
df_MoransI <- data.frame(crosstalk = seq(from = 0,
to = 0.30,
length.out=50))
df_MoransI$MoransI <- NA
df_MoransI$pseudo_p <- NA
old.opts <- options(warn = -1) # silence warnings from compute_pseudo_p
for (i in 1:nrow(df_MoransI))
{
vn_simulated_with_crosstalk <- apply_Crosstalk(object = vn_simulated,
n_crosstalk = df_MoransI$crosstalk[i])
df_MoransI$MoransI[i] <- calc_MoransI(object = vn_simulated_with_crosstalk)
df_MoransI$pseudo_p[i] <-
calc_MoransI(object = vn_simulated_with_crosstalk, compute_pseudo_p = TRUE)
}
options(old.opts) # restore the default options
n_expected_I_no_spatial_autocorr <- calc_MoransI(1:100,
spatial_autocorrelation = FALSE)
##
plot(x = df_MoransI$crosstalk,
y = df_MoransI$MoransI,
ylim = range(
pretty(x = c(df_MoransI$MoransI, n_expected_I_no_spatial_autocorr))
),
## Set ylim manually to make sure the value for I for no crosstalk is visible
xlab = "Amount of added crosstalk",
ylab = "Calculated Moran's I"
)
graphics::grid()
abline(h = n_expected_I_no_spatial_autocorr,
col = "purple")
legend(x = "topleft",
legend = "Expected I if no spatial autocorrelation",
lty = "solid",
col = "purple",
cex = 0.8)
plot(x = df_MoransI$crosstalk,
y = df_MoransI$pseudo_p,
xlab = "Amount of added crosstalk",
ylab = "Generated pseudo-p of related Moran's I")
graphics::grid()
## ----show_`disc_extended_moran_scatterplot, fig.dim = c(8, 5), out.width="800px"----
plot_MoranScatterplot(object = vn_simulated,
main = "Moran scatterplot, simulated signal without crosstalk")
vn_simulated_with_crosstalk <- apply_Crosstalk(object = vn_simulated,
n_crosstalk = 0.25)
vn_simulated_with_crosstalk <- round(vn_simulated_with_crosstalk)
plot_MoranScatterplot(object = vn_simulated_with_crosstalk,
main = "Moran scatterplot, simulated signal with added crosstalk")
## ----adjacent_grain_locations, fig.dim = c(8, 5), out.width="800px"-----------
vn_simulated_with_holes <- c(rnorm(30, mean = 10, sd = 5),
rnorm(30, mean = 500, sd = 50),
rep(NA, times = 40)
)
df_Neighbours <- Luminescence:::.get_Neighbours(object = vn_simulated_with_holes)
head(df_Neighbours)
## ----adjacent_grain_locations_show_disc, fig.dim = c(8, 5), out.width="800px"----
plot_SingleGrainDisc(object = vn_simulated_with_holes,
show_neighbours = TRUE,
show_location_ids = TRUE)
## ----adjacent_grain_locations_add, fig.dim = c(8, 5), out.width="800px"-------
df_Neighbours_with_diag <- Luminescence:::.get_Neighbours(object = vn_simulated)
for (i in c(1:9, 11:19, 21:29) )
{
df_Neighbours_with_diag <- rbind(df_Neighbours_with_diag,
c(i, i+11, 1/sqrt(2))
)
}
tail(df_Neighbours_with_diag)
plot_SingleGrainDisc(object = vn_simulated,
df_neighbours = df_Neighbours_with_diag,
show_neighbours = TRUE,
show_location_ids = TRUE)
## ----restrict_to_inner_8x8, fig.dim = c(8, 5), out.width="800px"--------------
vn_values_to_show <-
sample(x = c(rnorm(n = 30, mean = 2000, sd = 500),
rnorm(n = 70, mean = 20, sd = 1)),
size = 100)
## Set the outer rows to NA before adding crosstalk
vn_disc_border_locations <- c(1:10,
91:100,
seq(from = 11, to = 81, by = 10),
seq(from = 20, to = 90, by = 10)
)
vn_values_to_show[vn_disc_border_locations] <- NA
vn_values_to_show <- apply_Crosstalk(object = vn_values_to_show,
n_crosstalk = 0.15)
calc_MoransI(object = vn_values_to_show)
plot_SingleGrainDisc(object = vn_values_to_show,
show_neighbours = TRUE,
ignore_borders = TRUE)
calc_MoransI(object = vn_values_to_show,
ignore_borders = TRUE)
## ----show_disc_extended, fig.dim = c(8, 5), out.width="800px"-----------------
plot_SingleGrainDisc(object = vn_simulated,
main = "",
legend = TRUE,
show_coordinates = TRUE,
show_location_ids = TRUE,
show_positioning_holes = FALSE)
## ----show_disc_scales, fig.dim = c(8, 5), out.width="800px"-------------------
plot_SingleGrainDisc(object = vn_simulated,
main = "Linear scale",
legend = TRUE,
show_coordinates = FALSE,
show_location_ids = FALSE,
show_positioning_holes = TRUE,
str_transform = "lin")
plot_SingleGrainDisc(object = vn_simulated,
main = "Logarithmic scale",
legend = TRUE,
show_coordinates = FALSE,
show_location_ids = FALSE,
show_positioning_holes = TRUE,
str_transform = "log")
## ----show_scatterplot_options, fig.dim = c(8, 5), out.width="800px"-----------
vn_simulated <- c(rnorm(75, mean = 10, sd = 5),
rnorm(25, mean = 500, sd = 50) )
vn_simulated <- sample(size = 100, vn_simulated)
vn_simulated_with_crosstalk <- apply_Crosstalk(object = vn_simulated,
n_crosstalk = 0.15)
## Base use
plot_MoranScatterplot(object = vn_simulated,
main = "Without crosstalk")
plot_MoranScatterplot(object = vn_simulated_with_crosstalk,
main = "With crosstalk")
## Layout options
plot_MoranScatterplot(object = vn_simulated_with_crosstalk,
pch = "show_location_ids",
legend = FALSE,
log = "xy",
main = "With location ID's; and with log scales"
)
plot_MoranScatterplot(object = vn_simulated_with_crosstalk,
pch = "show_n_neighbours",
legend = FALSE,
str_y_def = "weighted_sum",
main = "With number of neighbours, and other y calculation"
)
## ----moransI_intermediate_numbers---------------------------------------------
calc_MoransI(object = 1:100,
return_intermediate_values = TRUE)
## ----moransI_intermediate_numbers_extended------------------------------------
vn_simulated <- sample(x = c(rnorm(n = 30, mean = 2000, sd = 500),
rnorm(n = 70, mean = 20, sd = 1)),
size = 100)
vn_simulated <- round(vn_simulated)
vn_simulated_with_crosstalk <- apply_Crosstalk(object = vn_simulated,
n_crosstalk = 0.20)
vn_simulated_with_crosstalk <- round(vn_simulated_with_crosstalk)
df_compare <-
data.frame(Case = c("Without crosstalk", "With crosstalk"),
MoransI = c(calc_MoransI(object = vn_simulated),
calc_MoransI(object = vn_simulated_with_crosstalk)
),
PopulationVar =
c(calc_MoransI(object = vn_simulated,
return_intermediate_values = TRUE)$n_population_variance,
calc_MoransI(object = vn_simulated_with_crosstalk,
return_intermediate_values = TRUE)$n_population_variance),
SpatialAutoCor =
c(calc_MoransI(object = vn_simulated,
return_intermediate_values = TRUE)$n_average_auto_correlation,
calc_MoransI(object = vn_simulated_with_crosstalk,
return_intermediate_values = TRUE)$n_average_auto_correlation)
)
df_compare[,2] <- round(df_compare[,2],2)
(df_compare)
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.