Jika Anda memiliki fungsi distribusi kumulatif , maka menghitung nilai p untuk statistik T yang diberikan hanya 1 - F ( T ) . Ini mudah di R. Jika Anda memiliki fungsi kepadatan probabilitas di sisi lain, maka F ( x ) = ∫ x - ∞ p ( t ) d t . Anda dapat menemukan ini tidak terpisahkan secara analitik atau numerik. Dalam R ini akan terlihat seperti ini: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
Anda dapat menyetel integrateuntuk akurasi yang lebih baik. Ini tentu saja mungkin gagal untuk kasus-kasus tertentu, ketika integral tidak berperilaku baik, tetapi harus berfungsi untuk sebagian besar fungsi kepadatan.
Anda tentu saja dapat meneruskan parameter ke pF, jika Anda memiliki beberapa nilai parameter untuk dicoba dan tidak ingin mendefinisikan ulang dFsetiap kali.
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
Tentu saja Anda juga dapat menggunakan metode Monte-Carlo seperti yang dijelaskan oleh @suncoolsu, ini akan menjadi metode numerik lain untuk integrasi.