[R] Latin Hyper cube with condition col1+ col2 < x

Boris Steipe boris.steipe at utoronto.ca
Thu Oct 15 16:38:24 CEST 2015


Sorry - two typos coorected:

If you need x[,"a"] + x[,"b"] equal to 1, then replace any non-zero initial value of x[,b] with 1-x[,a].
But if you really need "less than" h, you'll need to specify what your desired distribution of h - (x[,"a"] + x[,"b"]) should look like.


On Oct 15, 2015, at 9:52 AM, Boris Steipe <boris.steipe at utoronto.ca> wrote:

> If you need h equal to 1, then replace any non-zero initial value of x[,b] with 1-x[,a].
> But if you really need "less than", you'll need to specify what your desired distribution of h - x[,"a"] + x[,"b"] should look like.
> 
> No?
> 
> 
> B.
> 
> 
> 
> On Oct 15, 2015, at 9:27 AM, Rainer M Krug <Rainer at krugs.de> wrote:
> 
>> Boris Steipe <boris.steipe at utoronto.ca> writes:
>> 
>>> I don't think the problem is well defined. Otherwise you could just
>>> pick very small numbers from a range that is guaranteed to keep the
>>> sum < h.
>> 
>> What further information is missing? That the variables should be
>> covering the whole range from 0 to 1?
>> 
>> OK - forgotten to state that h <- 1.
>> 
>> This is for a sensitivity analysis which I want to conduct on a complex
>> function.
>> 
>> Rainer
>> 
>> 
>>> 
>>> 
>>> B.
>>> 
>>> On Oct 15, 2015, at 8:48 AM, Rainer M Krug <Rainer at krugs.de> wrote:
>>> 
>>>> Hi
>>>> 
>>>> I need a Latin Hypercube with the following conditions:
>>>> 
>>>> 0 < x[,"a"] < 1
>>>> 0 < x[,"b"] < 1
>>>> 0 < x[,"c"] < 1
>>>> 
>>>> but also
>>>> 
>>>> x[,"a"] + x[,"b"] < h
>>>> 
>>>> The first three are easy:
>>>> 
>>>> --8<---------------cut here---------------start------------->8---
>>>> n <- 1000
>>>> 
>>>> lhc <- lhs::randomLHS(n=n, k=3
>>>> colnames(lhc) <- c("a", "b", "c")
>>>> 
>>>> x <- lhc
>>>> --8<---------------cut here---------------end--------------->8---
>>>> 
>>>> Now the last condition:
>>>> 
>>>> I tried
>>>> 
>>>> --8<---------------cut here---------------start------------->8---
>>>> h <- 28
>>>> x[,"a"] <- x[,"a"] / 2
>>>> x[,"b"] <- x[,"b"] / 2
>>>> --8<---------------cut here---------------end--------------->8---
>>>> 
>>>> But this obviously reduces the individual ranges.
>>>> 
>>>> Using the rowSum as in 
>>>> https://stat.ethz.ch/pipermail/r-help/2013-October/361263.html
>>>> 
>>>> makes the sum of the variables also to 2.
>>>> 
>>>> So how can I create a Latin Hypercube which fulfills the conditions?
>>>> 
>>>> Rainer
>>>> 
>>>> -- 
>>>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>>>> 
>>>> Centre of Excellence for Invasion Biology
>>>> Stellenbosch University
>>>> South Africa
>>>> 
>>>> Tel :       +33 - (0)9 53 10 27 44
>>>> Cell:       +33 - (0)6 85 62 59 98
>>>> Fax :       +33 - (0)9 58 10 27 44
>>>> 
>>>> Fax (D):    +49 - (0)3 21 21 25 22 44
>>>> 
>>>> email:      Rainer at krugs.de
>>>> 
>>>> Skype:      RMkrug
>>>> 
>>>> PGP: 0x0F52F982
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>> 
>> 
>> -- 
>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>> 
>> Centre of Excellence for Invasion Biology
>> Stellenbosch University
>> South Africa
>> 
>> Tel :       +33 - (0)9 53 10 27 44
>> Cell:       +33 - (0)6 85 62 59 98
>> Fax :       +33 - (0)9 58 10 27 44
>> 
>> Fax (D):    +49 - (0)3 21 21 25 22 44
>> 
>> email:      Rainer at krugs.de
>> 
>> Skype:      RMkrug
>> 
>> PGP: 0x0F52F982
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list