ninan1 / lhs

Provides a number of methods for creating and augmenting Latin Hypercube Samples and Orthogonal Array Latin Hypercube Samples

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This package provides a number of methods for creating and augmenting Latin Hypercube Samples and Orthogonal Array Latin Hypercube Samples.

Linux & MacOS Windows Code Coverage CRAN Downloads CRAN
Build Status Build status Coverage status CRAN status

Visit the webpage here

See the Doxygen documentation here

The reverse dependency checks for lhs can be found here.

Installation

You can install the released version of lhs from CRAN with:

install.packages("lhs")

You can also install the development version of lhs from here with:

# install.packages("devtools")
devtools::install_github("bertcarnell/lhs")

Examples

Create a random LHS with 10 samples and 3 variables:

require(lhs)
set.seed(1776)
X <- randomLHS(n = 10, k = 3)

Create a design that is more optimal than the random case:

A <- geneticLHS(10, 3, pop = 100, gen = 5, pMut = 0.1)
B <- maximinLHS(10, 3, method = "build", dup = 5)
D <- maximinLHS(10, 3, method = "iterative", optimize.on = "result", eps = 0.01, maxIter = 300)
E <- improvedLHS(10, 3, dup = 5)
G <- optimumLHS(10, 3, maxSweeps = 10, eps = 0.01)
data.frame(method = c("random","genetic","maximin","maximin","improved","optimum"),
           mean_dist = c(mean(dist(X)), mean(dist(A)), mean(dist(B)),
                         mean(dist(D)), mean(dist(E)), mean(dist(G))),
           min_dist = c(min(dist(X)), min(dist(A)), min(dist(B)),
                        min(dist(D)), min(dist(E)), min(dist(G))))
Method Mean Distance Minimum Distance
random 0.7067224 0.2708864
genetic 0.7189860 0.4058587
maximin 0.7295788 0.3611274
maximin 0.7245922 0.3974934
improved 0.7028446 0.3871904
optimum 0.7289469 0.4597657

Augment an existing design:

Y <- randomLHS(10, 5)
Z <- augmentLHS(Y, 2)

Build an orthogonal array LHS:

# a 9 row design is returned because a 10 row design is not possible with these algorithms
W9 <- create_oalhs(10, 3, bChooseLargerDesign = FALSE, bverbose = FALSE)

# a 16 row design is returned because a 10 row design is not possible with these algorithms
W16 <- create_oalhs(10, 3, bChooseLargerDesign = TRUE, bverbose = FALSE)

Help

R-Help Examples of using the LHS package

Other

lhs package announcement: R-pkgs New R-Packages: Triangle and LHS

About

Provides a number of methods for creating and augmenting Latin Hypercube Samples and Orthogonal Array Latin Hypercube Samples

License:GNU General Public License v3.0


Languages

Language:C++ 76.8%Language:R 15.8%Language:TeX 4.4%Language:C 1.7%Language:Dockerfile 0.6%Language:CMake 0.4%Language:Shell 0.4%