Nothing
## ----knitsetup, message=FALSE, warning=FALSE, include=FALSE-------------------
knitr::opts_knit$set(root.dir = ".")
knitr::opts_chunk$set(collapse = TRUE, warning = TRUE)
set.seed(445)
library("experDesign")
## ----experDesign_setup--------------------------------------------------------
library("experDesign")
metadata <- expand.grid(height = seq(60, 80, 5),
weight = seq(100, 300, 50),
sex = c("Male","Female"))
head(metadata, 15)
## ----check_data---------------------------------------------------------------
check_data(metadata)
## ----size---------------------------------------------------------------------
size_data <- nrow(metadata)
size_batch <- 24
(batches <- optimum_batches(size_data, size_batch))
# So now the best number of samples for each batch is less than the available
(size <- optimum_subset(size_data, batches))
# The distribution of samples per batch
sizes_batches(size_data, size, batches)
## ----design-------------------------------------------------------------------
desi <- design(metadata, size_batch)
# It is a list but we can convert it to a vector with:
batch_names(desi)
## ----replicates---------------------------------------------------------------
repli <- replicates(metadata, size_batch, 5)
lengths(repli)
repli
## ----spatial------------------------------------------------------------------
spati <- spatial(repli, metadata, rows = LETTERS[1:6], columns = 1:4)
head(spati)
## ----report-------------------------------------------------------------------
report <- inspect(repli, metadata)
report2 <- inspect(spati, report, index_name = "position")
head(report2)
## ----compare_index------------------------------------------------------------
desi2 <- create_subset(nrow(metadata), size_batch)
compare_index(metadata, desi, desi2)
## ----unbalanced---------------------------------------------------------------
n <- 99
samples <- 100
unbalanced <- data.frame(Classroom = rep(c("A", "B"), each = samples/2),
Sex = c(rep("M", n), rep("F", samples-n)),
Age = rnorm(samples, mean = 25, sd = 3))
table(unbalanced[, 1:2])
## ----unbalanced_design--------------------------------------------------------
i <- design(unbalanced, 15)
evaluation <- evaluate_index(i, unbalanced)
# Mean entropy en each subset
rowMeans(evaluation["entropy", , ])
# Original entropy on the dataset
evaluate_orig(unbalanced)["entropy", ]
# Dispersion of the entropy
apply(evaluation["entropy", , ], 1, sd)
## ----QC-----------------------------------------------------------------------
data(survey, package = "MASS")
head(survey)
samples <- extreme_cases(survey, size = 10)
survey[samples, ]
## ----check_index--------------------------------------------------------------
check_index(unbalanced, i)
## ----internal, fig.show='hold'------------------------------------------------
# To reduce the variables used:
omit <- c("Wr.Hnd", "NW.Hnd", "Fold", "Pulse", "Clap", "Exer", "Height", "M.I")
(keep <- colnames(survey)[!colnames(survey) %in% omit])
head(survey[, keep])
# Set a seed for reproducibility
# Looking for groups at most of 70 samples.
index <- create_subset(nrow(survey), size_subset = 70)
index
## ----check_index1-------------------------------------------------------------
score_index1 <- check_index(survey[, keep], index)
score_index1
## ----design2, warning=FALSE---------------------------------------------------
index2 <- create_subset(nrow(survey), size_subset = 70)
## ----check_index2-------------------------------------------------------------
score_index2 <- check_index(survey[, keep], index2)
sum(rowMeans(abs(score_index2-score_index1)))
## ----sessioninfo--------------------------------------------------------------
sessionInfo()
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.