File: chisqsum.R

package info (click to toggle)
r-cran-lava 1.8.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,816 kB
  • sloc: sh: 13; makefile: 2
file content (15 lines) | stat: -rw-r--r-- 367 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rchisqsum <- function(n,lambda) {
    p <- length(lambda)
    X2 <- matrix(rnorm(n*p)^2,ncol=p) ## Chi-squared (df=1)
    res <- numeric(n)
    for (i in seq(p)) {
        res <- res + X2[,i]*lambda[i]
    }
    return(res)
}

pchisqsum <- function(x, lambda=1, B=1e6, seed=NULL) {
    if (!is.null(seed)) set.seed(seed)
    y <- rchisqsum(B,lambda)
    mean(y<=x)
}