[R] Beta distribution approximate to Normal distribution
(Ted Harding)
Ted.Harding at wlandres.net
Tue Sep 15 17:12:39 CEST 2015
Using non-central chi-squared (especially with df=1) is unlikely
to generate random numbers anywhere near a Normal distribution
(see below).
And "rchisq(100, df=1, ncp=u/a)" won't work anyway with u<0,
since ncp must be >= 0 (if < 0 then all are NA).
Better to shoot straight for the target (truncated Normal), though
several shots are likely to be required! For example (code which
spells it out), taking u=3 and a=2:
n <- 100
u <- 3 ; a <- 2
x <- NULL
N <- length(x)
while(N < n){
x <- c(x,rnorm(n,mean=u,sd=a))
x <- x[x>0]
N <- length(x)
}
x <- x[1:n]
Comparison with non-central chi-squared:
y <- rchisq(100, df=1, ncp=u/a)
hist(x)
hist(y)
On 15-Sep-2015 13:26:44 JLucke at ria.buffalo.edu wrote:
> Your question makes no sense as stated. However, guessing at what you
> want, you should perhaps consider the non-central chi-square density with
> 1 df and ncp = u/a, i.e,
>
> rchisq(100, df=1, ncp=u/a)
>
> Joe
> Joseph F. Lucke, PhD
> Senior Statistician
> Research Institute on Addictions
> University at Buffalo
> State University of New York
> 1021 Main Street
> Buffalo, NY 14203-1016
>
> Chien-Pang Chin <chienpang.c at gmail.com>
> Sent by: "R-help" <r-help-bounces at r-project.org>
> 09/15/2015 06:58 AM
>
> To
> "r-help at r-project.org" <r-help at r-project.org>,
>
> Subject
> [R] Beta distribution approximate to Normal distribution
>
> Hi,
> I need to generate 1000 numbers from N(u, a^2), however I don't
> want to include 0 and negative values. How can I use beta distribution
> approximate to N(u, a^2) in R.
>
> Thx for help
-------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at wlandres.net>
Date: 15-Sep-2015 Time: 16:12:35
This message was sent by XFMail
More information about the R-help
mailing list