Last data update: 2014.03.03

R: The posterior distribution for the hyper-parameters of the...
pprob.distR Documentation

The posterior distribution for the hyper-parameters of the Beta distribution.

Description

This function accepts a vector of simulated null p-values from a single simulated study. The null p-values should represent a subset of all the simulated p-values corresponding to the tests with no signal. The result is an estimated posterior distribution for the parameters of the Beta distribution. A posterior centered at (1,1) suggests a uniform distribution.

Usage

  pprob.dist(p,alpha=c(0.1,10),beta=c(0.1,10),delta=0.10,eps=1e-10)

Arguments

p

An vector of null p-values from a single simulated study.

alpha

The range of the first parameter for the prior on the beta distribution.

beta

The range of the second parameter for the prior on the beta distribution.

delta

The grid size, the posterior is calculated over the range of the parameters at grid points separated by delta.

eps

Maximum integration error when computing the posterior distribution.

Details

The pprob.dist function calculates the posterior probability for the parameters of the beta distribution given the sample p. The prior is assumed to be uniform on the range specified by the user. A posterior distribution is returned in the form of a matrix, where element (i,j) is the posterior at (alpha[1] + i*delta, beta[1] + j*delta). The null p-values should be simulated from a realistic distribution and only the null p-values should be passed to the pprob.dist function.

Value

dist

The posterior distribution in the form of a matrix.

Author(s)

Jeffrey T. Leek jleek@jhsph.edu

References

J.T. Leek and J.D. Storey, "The Joint Null Distribution of Multiple Hypothesis Tests."

See Also

dks, dks.pvalue, pprob.uniform,cred.set

Examples


  ## Load data
  data(dksdata) 

  ## Calculate the posterior distribution
  dist1 <- pprob.dist(P[,1])

  delta <- 0.1

  ## Plot the posterior distribution
  alpha <- seq(0.1,10,by=delta)
  beta <- seq(0.1,10,by=delta)
  image(log10(alpha),log10(beta),dist1,xaxt="n",yaxt="n",xlab="Alpha",ylab="Beta")
  axis(1,at=c(-2,-1,0,1,2),labels=c("10^-2","10^-1","10^0","10^1","10^2"))
  axis(2,at=c(-2,-1,0,1,2),labels=c("10^-2","10^-1","10^0","10^1","10^2"))
  points(0,0,col="blue",cex=1,pch=19)	

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(dks)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/dks/pprob.dist.Rd_%03d_medium.png", width=480, height=480)
> ### Name: pprob.dist
> ### Title: The posterior distribution for the hyper-parameters of the Beta
> ###   distribution.
> ### Aliases: pprob.dist
> ### Keywords: misc
> 
> ### ** Examples
> 
> 
>   ## Load data
>   data(dksdata) 
> 
>   ## Calculate the posterior distribution
>   dist1 <- pprob.dist(P[,1])
> 
>   delta <- 0.1
> 
>   ## Plot the posterior distribution
>   alpha <- seq(0.1,10,by=delta)
>   beta <- seq(0.1,10,by=delta)
>   image(log10(alpha),log10(beta),dist1,xaxt="n",yaxt="n",xlab="Alpha",ylab="Beta")
>   axis(1,at=c(-2,-1,0,1,2),labels=c("10^-2","10^-1","10^0","10^1","10^2"))
>   axis(2,at=c(-2,-1,0,1,2),labels=c("10^-2","10^-1","10^0","10^1","10^2"))
>   points(0,0,col="blue",cex=1,pch=19)	
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>