RankProductVignette.R

From Organic Design wiki

Code snipits and programs written in R, S or S-PLUS library(RankProd) library(tkWidgets)

vExplorer() vignette("RankProd")

data(arab)

  1. Single origin analysis

arab.sub <- arab[, which(arab.origin == 1)] arab.cl.sub <- arab.cl[which(arab.origin == 1)] arab.origin.sub <- arab.origin[which(arab.origin == 1)]

RP.out <- RP(arab.sub, arab.cl.sub, num.perm = 100, logged = TRUE,

            na.rm = FALSE, plot = FALSE, rand = 123) 

str(RP.out)

RP.out <- RPadvance(arab.sub, arab.cl.sub, arab.origin.sub, num.perm = 100,

                   logged = TRUE, na.rm = FALSE, gene.names = arab.gnames, plot = FALSE, 
                   rand = 123) 

str(RP.out) RP.out <- RPadvance(arab.sub,arab.cl.sub,arab.origin.sub,gene.

                   names=arab.gnames,rand=123) 

plotRP(RP.out, cutoff=0.05)

  1. Selection by cutoff

topGene(RP.out, cutoff = 0.05, method="pval", logged=TRUE,

       logbase=2, gene.names=arab.gnames) 
  1. Selection by number of genes

topGene(RP.out,num.gene=50,gene.names=arab.gnames)

RP.adv.out <- RPadvance(arab, arab.cl, arab.origin, num.perm = 100,

                       logged = TRUE, gene.names = arab.gnames, rand = 123) 

plotRP(RP.adv.out, cutoff = 0.05) topGene(RP.adv.out, cutoff=0.05, method="pfp", logged=TRUE,

       logbase=2, gene.names=arab.gnames) 
  1. Common reference design

library(vsn) data(lymphoma) pData(lymphoma) lym.vsn <- vsn(lymphoma) lym.exp <- exprs(lym.vsn)

refrs <- (1:8) * 2 - 1 samps <- (1:8) * 2 M <- lym.exp[, samps] - lym.exp[, refrs] colnames(M) cl <- c(rep(0, 4), rep(1, 4)) cl RP.out <- RP(M, cl, logged = TRUE, rand = 123) topGene(RP.out, cutoff = 0.05, logged = TRUE, logbase = exp(1))


set.seed(1) RP.out <- RP(arab.sub, arab.cl.sub, num.perm = 1000, logged = TRUE,

            na.rm = FALSE, plot = FALSE, rand = 123) 

arab.subRanks <- matrix(NA, nr=nrow(arab.sub), nc=ncol(arab.sub))

for( j in 1:ncol(arab.sub) ) {

   arab.subRanks[,j] <- rank(arab.sub[,j])

}

RP.out2 <- RP(arab.subRanks, arab.cl.sub, num.perm = 1000, logged = TRUE,

            na.rm = FALSE, plot = FALSE, rand = 123) 

topGene(RP.out, cutoff=0.05) topGene(RP.out2, cutoff=0.05)