# Random Number Generators
library(randtoolbox)
library(lhs)
# Graphics
library(plotly)
library(ggplot2)
library(ggthemes)
library(dplyr)
Latin Hypercube Sampling {lhs}
# Generate five sets of LHS
n_samp <- 25
set.seed(1234)
d_ga <- data.frame(algo = "Genetic", geneticLHS(n = n_samp, k = 3))
d_imp <- data.frame(algo = "Improved", improvedLHS(n = n_samp, k = 3))
d_maxmin <- data.frame(algo = "Maxmin", maximinLHS(n = n_samp, k = 3))
d_opt <- data.frame(algo = "Optimum", optimumLHS(n = n_samp, k = 3))
d_rand <- data.frame(algo = "Random", randomLHS(n = n_samp, k = 3))
# Combine
d_all <- rbind(d_ga, d_imp, d_maxmin, d_opt, d_rand)
colnames(d_all) <- c("algo", "x", "y", "z")
# Plotly
pal <- tableau_color_pal(palette = "tableau10")(10)[5]
p <- plot_ly(d_all, x = x, y = y, z = z, group = algo,
type = "scatter3d", mode = "markers", colors = pal) %>%
layout(title = "Latin Hypercube Sampling")
p