【发布时间】:2013-12-04 03:08:03
【问题描述】:
我正在生成观察到的与理论 p 值的 QQ 图。但是我想在原始数据框中添加一个参考线的向量作为包含 p 值向量的列,我还想添加一列观察到的和预期的 p 值。
#data frame with p-value column labeled p-vals)
PVAL<-runif(10000)
pvals<-as.data.frame(PVAL)
#sort the p-values in PVAL and take the negative log
observed <- sort(pvals$PVAL)
lobs <- -(log10(observed))
#generate expected pvalue vector
expected <- c(1:length(observed))
lexp <- -(log10(expected / (length(expected)+1)))
#generate QQ plot
#plot red reference line and observed vs expected pvalues
plot(c(0,7), c(0,7), col="red", lwd=3, type="l", xlab="Expected (-logP)", ylab="Observed (-logP)", xlim=c(0,7), ylim=c(0,7), las=1, xaxs="i", yaxs="i", bty="l")
points(lexp, lobs, pch=23, cex=.4, bg="black")
绘图工作得很好,但是,我想要一个最终数据框,其中包含与 PVAL 对应的“观察到的”、“预期的”列和红色参考线值向量。
基本上我想要一个包含 4 列的新数据框,如下所示:
$new_pvals
PVAL OBSERVED EXPECTED RED_REFERENCE_LINE
注意:PVAL 和 OBSERVED 列应该相同,因为其中一个只是另一个的排序版本。
有人可以帮忙吗?谢谢。 这是为了帮助我了解观察和预期中有多少点低于参考线中的某些值。
【问题讨论】: