How to compute a P-value for a complex mixture of chi-squared distributions in R
Hello,
Try the following.
dmix <- function(x){
dens <- function(x, df) dchisq(x^2, df = df)*2*x
0.5*dens(x, df = 1) + 0.5*dens(x, df = 2)
}
pmix <- function(x, lower.tail = TRUE){
p <- integrate(dmix, lower = 0, upper = x)
if(lower.tail) p$value else 1 - p$value
}
quant <- 1
pmix(quant, lower.tail = FALSE)
Hope this helps,
Rui Barradas
Em 01-06-2013 05:26, Tiago V. Pereira escreveu:
Hello, R users! I am struggling with the following problem: I need to compute a P-value for a mixture of two chi-squared distributions. My P-value is given by: P = 0.5*prob(sqrt(chi2(1)) <= x) + 0.5*prob(sqrt(chi2(2)) <= x) In words, I need to compute the p-value for 50?50 mixture of the square root of a chi-squared random variable with 1 degree of freedom and the square root of a chi-squared with two degrees of freedom. Although I can quickly simulate data, the P-values I am looking for are at the tail of the distribution, that is, alpha levels below 10^-7. Hence, simulation is not efficient. Are you aware of smart approach? All the best, Tiago
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.