qqunif = function(p,BH=T,...) { nn = length(p) xx = -log10((1:nn)/(nn+1)) plot( xx, -sort(log10(p)), xlab=expression(Expected~~-log[10](italic(p))), ylab=expression(Observed~~-log[10](italic(p))), ... ) abline(0,1,col='gray') if(BH) { lines( xx, -log10(0.05*(1:nn)/(nn+1)), col='red') lines( xx, -log10(0.10*(1:nn)/(nn+1)), col='orange') lines( xx, -log10(0.25*(1:nn)/(nn+1)), col='yellow') legend('bottomright', c("FDR = 0.05","FDR = 0.10","FDR = 0.25"), col=c('red','orange','yellow'),lty=1, cex=1.4) } }
Tuesday, December 15, 2009
pvalue plot vs uniform; FDR
Tuesday, December 8, 2009
imagesc in CDAT
The imagesc function in MATLAB creates plots that have color bars scaled to a user-specified range. This allows you to simply create a whole series of plots that can be easily intercompared. The following function imitates imagesc: import vcs def imagesc(x, mini, maxi): t = vcs.init() a = t.getboxfill('quick') a.level_1 = mini a.level_2 = maxi t.plot(x, a) x is the input array and mini and maxi define the range in values to plot. The function establishes a VCS canvas, imports the "quick" boxfill graphics method, sets the level range to mini and maxi, and plots x using this customized graphics method. other tips for CDAT/Python check http://www.johnny-lin.com/cdat_tips/
Thursday, December 3, 2009
likelihood ratio test
> logLik.test function(fit0,fit) { l0 = logLik(fit0) l1 = logLik(fit) lratio = abs(as.numeric(l0)-as.numeric(l1)) df = abs( attr(l1,'df') - attr(l0,'df') ) pval = 1-pchisq( 2*lratio, df) return(pval) }
log likelihood from lm, glm, polr
> fit = lm(y ~ x) > logLik(fit) 'log Lik.' -36.4 (df=4) > attr(logLik(fit),'df') [1] 4
Subscribe to:
Posts (Atom)