Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:使用p.adjust纠正多项测试的z分数_R - Fatal编程技术网

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
)。这些与这些特定值相关,不应予以纠正。然而,当决定一个统计数据是否有一个值得拒绝假设的值时,建议在执行大量统计测试时更正计算出的概率值,正如您所指出的

话虽如此,我还是想了解更多