我有一个矢量如下,我喜欢将q值转换为p值(根据q值估算p值)。
data<-c(0.35,0.52,0.12,0.46)
我使用下面的代码进行转换,但我不确定:(我从此处获取此代码&#34; https://stats.stackexchange.com/questions/51070/how-can-i-convert-a-q-value-distribution-to-a-p-value-distribution&#34;)
qvalues<-as.numeric(as.character(data))
convert.qval.pval = function(qvalues) {
pi0 = max(qvalues)
m0 = length(qvalues) * pi0
return(qvalues * rank(qvalues) / m0)
}
qval_pval <- convert.qval.pval(qvalues)
qval_pval
[1] 0.33653846 1.00000000 0.05769231 0.66346154
另外,我喜欢使用&#34; q-value&#34; R包,但对于这个包,我必须进行模拟或数据重采样(例如,bootstrap,置换)&#34; null 统计&#34;,但我不知道怎么做。
使用Q_value进行转换的代码:
stat <- data
stat0 <- "creat using bootstar" ?!!!
p.testspecific <- empPvals(stat=state, stat0=stat0, pool=FALSE)