[R] help on setting boundaries for generating random numbers
arun
smartpink111 at yahoo.com
Sat Sep 1 17:51:07 CEST 2012
Hi,
May be this might help you.
set.seed(1)
a <-rlnorm(500,0.7,1)
a1<-a[a>30|a<0.5]
set.seed(2)
a2 <-rlnorm(500,0.7,1)
a3<-a2[a2>30|a2<0.5]
a4<-a2[!a2%in%a3]
summary(a4)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.5105 1.2500 2.2990 3.6850 4.7140 25.3600
a[a%in%a1]<-sample(a4,length(a[a%in%a1]),replace=FALSE)
summary(a)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.5044 1.2900 2.1310 3.5320 4.1510 28.4800
a[a>30|a<0.5]
#numeric(0)
A.K.
----- Original Message -----
From: Andras Farkas <motyocska at yahoo.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc:
Sent: Saturday, September 1, 2012 5:29 AM
Subject: [R] help on setting boundaries for generating random numbers
Dear All,
is there a way to set low and high limits to a simulation with rlnorm()?
as an example:
a <-rlnorm(500,0.7,1)
I get the summary of
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.1175 1.0590 2.1270 3.4870 4.0260 45.3800
I would like to set limits so that the simulated values minimum would be greater then 0.5 and maximum of less than 30. If during simulation a value outside of the limits would be simulated, then I would like R to "throw that value out" and go back to generate another random number instead that would fit the limits criteria.
Apreciate all the help on this,
Sincerely,
Andras
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list
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