R:使用p.adjust纠正多项测试的z分数
我有一组正常近似的R:使用p.adjust纠正多项测试的z分数,r,R,我有一组正常近似的z-分数,我需要对其进行多次测试校正,我通过将z-分数转换为相应的调整后p-值,如下所示: # Reproducible R-code z = -24.831 ntests = 487 p = 2*pnorm(-abs(z)) # Yields p = 4.14869e-136 p.adj = p.adjust(p,method="fdr",n=ntests) # Yields p.adj = 2.020412e-133
z-分数
,我需要对其进行多次测试校正,我通过将z-分数
转换为相应的调整后p-值
,如下所示:
# Reproducible R-code
z = -24.831
ntests = 487
p = 2*pnorm(-abs(z)) # Yields p = 4.14869e-136
p.adj = p.adjust(p,method="fdr",n=ntests) # Yields p.adj = 2.020412e-133
z.adj = qnorm(1-p.adj/2) * sign(z) # Yields z.adj = -Inf
所以我从z=-24.831
开始,经过多次测试的校正,我得到了z=-Inf
。我有一个系统,我需要实际校正的z分数
,而-Inf
值不“适合”这个系统
我可以得到实际值而不是仅仅得到
-Inf
,或者这是一个过流/欠流问题吗?我认为这在统计上没有意义,但您可以将最后一行代码更改为:
z.adj = qnorm(p.adj/2, lower.tail = FALSE) * sign(z)
#[1] -24.58093
这避免了计算
1-p.adj/2
,因为浮点运算(参见help(“.Machine”)
)等于0。我认为这没有统计学意义,但您可以将最后一行代码更改为:
z.adj = qnorm(p.adj/2, lower.tail = FALSE) * sign(z)
#[1] -24.58093
这避免了计算
1-p.adj/2
,因为浮点运算(参见help(“.Machine”)
)等于0。我认为这没有统计学意义,但您可以将最后一行代码更改为:
z.adj = qnorm(p.adj/2, lower.tail = FALSE) * sign(z)
#[1] -24.58093
这避免了计算
1-p.adj/2
,因为浮点运算(参见help(“.Machine”)
)等于0。我认为这没有统计学意义,但您可以将最后一行代码更改为:
z.adj = qnorm(p.adj/2, lower.tail = FALSE) * sign(z)
#[1] -24.58093
这避免了计算
1-p.adj/2
,因为浮点运算(参见help(“.Machine”)
)等于0。详细说明@Roland的答案和注释,考虑到所使用数量的意义,您想要的是不合理的
统计测试产生的z分数或其他统计数据是某些特定值的转换(在z分数的情况下:z=(x-mu)/sigma
)。这些与这些特定值相关,不应予以纠正。然而,当决定一个统计数据是否有一个值得拒绝假设的值时,建议在执行大量统计测试时更正计算出的概率值,正如您所指出的
话虽如此(为了更深入地了解这个话题),我也认为这是
R
所期望的合理行为。出于所有目的,您的p.adj==0
,它对应于z=-Inf
。即使在获得正确的结果(如罗兰的回答)时,它实际上是不相关的,记住这些值的解释。换句话说,10^-133
的概率为零,三个数量级没有任何区别。更重要的是,当意识到这些是数值计算,而不是分析计算时。详细阐述@Roland的答案和评论时,考虑到所用数量的意义,你想要的是不合理的
统计测试产生的z分数或其他统计数据是某些特定值的转换(在z分数的情况下:z=(x-mu)/sigma
)。这些与这些特定值相关,不应予以纠正。然而,当决定一个统计数据是否有一个值得拒绝假设的值时,建议在执行大量统计测试时更正计算出的概率值,正如您所指出的
话虽如此(为了更深入地了解这个话题),我也认为这是
R
所期望的合理行为。出于所有目的,您的p.adj==0
,它对应于z=-Inf
。即使在获得正确的结果(如罗兰的回答)时,它实际上是不相关的,记住这些值的解释。换句话说,10^-133
的概率为零,三个数量级没有任何区别。更重要的是,当意识到这些是数值计算,而不是分析计算时。详细阐述@Roland的答案和评论时,考虑到所用数量的意义,你想要的是不合理的
统计测试产生的z分数或其他统计数据是某些特定值的转换(在z分数的情况下:z=(x-mu)/sigma
)。这些与这些特定值相关,不应予以纠正。然而,当决定一个统计数据是否有一个值得拒绝假设的值时,建议在执行大量统计测试时更正计算出的概率值,正如您所指出的
话虽如此(为了更深入地了解这个话题),我也认为这是
R
所期望的合理行为。出于所有目的,您的p.adj==0
,它对应于z=-Inf
。即使在获得正确的结果(如罗兰的回答)时,它实际上是不相关的,记住这些值的解释。换句话说,10^-133
的概率为零,三个数量级没有任何区别。更重要的是,当意识到这些是数值计算,而不是分析计算时。详细阐述@Roland的答案和评论时,考虑到所用数量的意义,你想要的是不合理的
统计测试产生的z分数或其他统计数据是某些特定值的转换(在z分数的情况下:z=(x-mu)/sigma
)。这些与这些特定值相关,不应予以纠正。然而,当决定一个统计数据是否有一个值得拒绝假设的值时,建议在执行大量统计测试时更正计算出的概率值,正如您所指出的
话虽如此,我还是想了解更多