## ------------------------------------------------------------------------ library(swfdr) ## ------------------------------------------------------------------------ colnames(journals_pVals) ## ------------------------------------------------------------------------ table(journals_pVals$year) table(journals_pVals$journal) ## ------------------------------------------------------------------------ journals_pVals1 <- dplyr::filter(journals_pVals, year == 2005, journal == "American Journal of Epidemiology", pvalue < 0.05) dim(journals_pVals1) ## ------------------------------------------------------------------------ tt <- data.frame(journals_pVals1)[,2] rr <- rep(0,length(tt)) rr[tt == 0] <- (data.frame(journals_pVals1)[tt==0,1] == round(data.frame(journals_pVals1)[tt==0,1],2)) pVals <- data.frame(journals_pVals1)[,1] resSwfdr <- calculateSwfdr(pValues = pVals, truncated = tt, rounded = rr, numEmIterations=100) names(resSwfdr) ## ------------------------------------------------------------------------ resSwfdr ## ------------------------------------------------------------------------ head(BMI_GIANT_GWAS_sample) dim(BMI_GIANT_GWAS_sample) ## ------------------------------------------------------------------------ table(BMI_GIANT_GWAS_sample$Freq_MAF_Int_Hapmap) ## ------------------------------------------------------------------------ X <- model.matrix(~ splines::ns(N,5) + Freq_MAF_Int_Hapmap, data = BMI_GIANT_GWAS_sample)[,-1] head(X) ## ------------------------------------------------------------------------ pi0x <- lm_pi0(pValues=BMI_GIANT_GWAS_sample$p, X=X, smooth.df=3) names(pi0x) ## ------------------------------------------------------------------------ BMI_GIANT_GWAS_sample$fitted0.8 <- pi0x$pi0.lambda[,round(pi0x$lambda,2)==0.8] BMI_GIANT_GWAS_sample$fitted0.9 <- pi0x$pi0.lambda[,round(pi0x$lambda,2)==0.9] BMI_GIANT_GWAS_sample$fitted.final.smooth <- pi0x$pi0 ## ------------------------------------------------------------------------ ldf <- reshape2::melt(BMI_GIANT_GWAS_sample, id.vars=colnames(BMI_GIANT_GWAS_sample)[-grep("fitted", colnames(BMI_GIANT_GWAS_sample))], value.name = "pi0",variable.name = "lambda") ldf$lambda <- as.character(ldf$lambda) ldf$lambda[ldf$lambda=="fitted0.8"] <- "lambda=0.8" ldf$lambda[ldf$lambda=="fitted0.9"] <- "lambda=0.9" ldf$lambda[ldf$lambda=="fitted.final.smooth"] <- "final smoothed pi0(x)" head(ldf) ## ---- BMI_GWAS_plot------------------------------------------------------ library(ggplot2) ggplot(ldf, aes(x=N, y=pi0))+ geom_line(aes(col=Freq_MAF_Int_Hapmap, linetype=lambda)) + ylab("Estimated proportion of nulls") + guides(color=guide_legend(title="MAF in HapMap CEU population"), linetype=guide_legend(title="Estimate"))