[R] function for inverse normal transformation
carol white
wht_crl at yahoo.com
Fri Jul 20 14:28:33 CEST 2012
Thanks Rui.
I changed my scripts to the followings and I think that it still is not correct. See also the attached file.
Thanks for your help,
tmp
[1] 2.502519 1.828576 3.755778 17.415000 3.779296 2.956850 2.379663
[8] 1.103559 8.920316 2.744500 2.938480 7.522174 10.629200 8.552259
[15] 5.425938 4.388906 0.000000 0.723887 11.337860 3.763786
tmp.p =2*pnorm(abs(scale(tmp)),lower.tail=FALSE)
> tmp.qnorm = qnorm(tmp.p/2,lower.tail=FALSE)
> tmp.qnorm = qnorm(tmp.p/2,lower.tail=FALSE)*sign(tmp)
> equal(tmp, tmp.qnorm)
[1] FALSE
> par(mfrow = c(1,3))
> hist(tmp)
> hist(tmp.p)
> hist(tmp.qnorm)
________________________________
From: Rui Barradas <ruipbarradas at sapo.pt>
To: carol white <wht_crl at yahoo.com>
Cc: r-help <r-help at r-project.org>
Sent: Friday, July 20, 2012 2:02 PM
Subject: Re: [R] function for inverse normal transformation
Hello,
No it's not correct, you are computing a what seems to be a
two-tailed probabiity, so the inverse should account for it. Look
closely: you take the absolute value, then the upper tail
probability, then multiply 2 into it. Reverse these steps to get the
correct value.
# Helper function
equal <- function(x, y, tol=.Machine$double.eps^0.5) all(abs(x -
y) < tol)
m <- rnorm(5)
p <- 2*pnorm(abs(m), lower.tail=FALSE)
m2 <- qnorm(p/2, lower.tail=FALSE)*sign(m)
equal(m, m2)
(The helper function is just to test floating point values computed
differently for equality.)
Hope this helps,
Rui Barradas
Em 20-07-2012 12:36, carol white escreveu:
Thanks for your reply. So to derive it from a given data set, is the following correct to do? my_data.p =2*pnorm(abs(my_data),lower.tail=FALSE) my_data.q = qnorm(my_data.p) Cheers, ________________________________ From: Duncan Murdoch <murdoch.duncan at gmail.com> Cc: "r-help at stat.math.ethz.ch" <r-help at stat.math.ethz.ch> Sent: Friday, July 20, 2012 1:23 PM
Subject: Re: [R] function for inverse normal transformation On 12-07-20 6:21 AM, carol white wrote:
>Hi,
What is the function for inverse normal transformation?
>qnorm Duncan Murdoch
>Thanks, Carol [[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.
>[[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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmp.png
Type: image/png
Size: 16751 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120720/b60d9aac/attachment.png>
More information about the R-help
mailing list