Re: standard normal cumulative distribution function

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: SunWuKung <Balazs(dot)Klein(at)axelero(dot)hu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: standard normal cumulative distribution function
Date: 2006-01-21 19:12:09
Message-ID: 20060121191209.GA62176@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jan 20, 2006 at 04:54:00PM -0700, Michael Fuhr wrote:
> On Sat, Jan 21, 2006 at 12:00:49AM +0100, SunWuKung wrote:
> > Does somebody have/know of a function for pg returning the standard
> > normal cumulative distribution for a Z score?
>
> Are you looking for something like this?
>
> test=> SELECT z, cdf_ugaussian_p(z) FROM generate_series(-3, 3) AS g(z);

You can also do this with the R language, which you can access from
PostgreSQL via PL/R.

http://www.r-project.org/
http://www.joeconway.com/plr/

CREATE FUNCTION pnorm(z double precision) RETURNS double precision AS $$
return(pnorm(z))
$$ LANGUAGE plr IMMUTABLE STRICT;

SELECT z, pnorm(z) FROM generate_series(-3, 3) AS g(z);
z | pnorm
----+---------------------
-3 | 0.00134989803163009
-2 | 0.0227501319481792
-1 | 0.158655253931457
0 | 0.5
1 | 0.841344746068543
2 | 0.977249868051821
3 | 0.99865010196837

--
Michael Fuhr

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David Lang 2006-01-21 20:19:26 Re: [GENERAL] Creation of tsearch2 index is very
Previous Message Stephan Vollmer 2006-01-21 18:37:06 Re: Creation of tsearch2 index is very slow