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 integrate
untuk 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 dF
setiap 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.