Bir varsa kümülatif dağılım fonksiyonu , daha sonra hesaplama bir istatistik için-değeri basitçe . Diğer yandan olasılık yoğunluk fonksiyonu varsa , . Bu integrali analitik veya sayısal olarak bulabilirsiniz. R'de bu şöyle görünecektir:FpT1 - F( T)F( x ) = ∫x- ∞p ( t ) dt
dF <- function(x)dnorm(x)
pF <- function(q)integrate(dF,-Inf,q)$value
> pF(1)
[1] 0.8413448
> pnorm(1)
[1] 0.8413447
Daha integrate
iyi doğruluk için ayarlayabilirsiniz . Bu, elbette, integral iyi davranmadığında belirli durumlar için başarısız olabilir, ancak yoğunluk fonksiyonlarının çoğunluğu için çalışmalıdır.
pF
Denemek için birkaç parametre değeriniz varsa ve dF
her seferinde yeniden tanımlamak istemiyorsanız , elbette parametreleri geçirebilirsiniz .
dF <- function(x,mean=0,sd=1)dnorm(x,mean=mean,sd=sd)
pF <- function(q,mean=0,sd=1)integrate(dF,-Inf,q,mean=mean,sd=sd)$value
> pF(1,1,1)
[1] 0.5
> pnorm(1,1,1)
[1] 0.5
Elbette @suncoolsu tarafından detaylandırılan Monte-Carlo yöntemlerini de kullanabilirsiniz, bu sadece entegrasyon için başka bir sayısal yöntem olacaktır.