当前位置: 首页 > 编程笔记 >

在R中对Spearman的相关性执行相关性测试时,如何避免出现“无法计算具有联系的精确p值”的警告?

宰父正真
2023-03-14
本文向大家介绍在R中对Spearman的相关性执行相关性测试时,如何避免出现“无法计算具有联系的精确p值”的警告?,包括了在R中对Spearman的相关性执行相关性测试时,如何避免出现“无法计算具有联系的精确p值”的警告?的使用技巧和注意事项,需要的朋友参考一下

变量不是连续的但可以排序时,我们不使用皮尔逊相关系数来找到线性关系,在这种情况下,斯皮尔曼相关系数就出现了。由于spearman相关系数考虑了值的等级,因此相关性测试忽略了相同的等级来找到p值,结果我们得到警告“无法计算具有联系的精确p值”。可以通过在cor.test函数中使用精确= FALSE来避免这种情况。

示例

请看以下向量并执行spearman相关测试以检查它们之间的关系-

x1<-rpois(20,2)
y1<-rpois(20,5)
cor.test(x1,y1,method="spearman")

输出结果

   Spearman's rank correlation rho
data: x1 and y1
S = 1401.7, p-value = 0.8214
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
-0.05390585
Warning message:
In cor.test.default(x1, y1, method = "spearman") :
Cannot compute exact p-value with ties

在这里,我们有领带的警告,可以通过使用精确= FALSE来避免,如下所示-

示例

cor.test(x1,y1,method="spearman",exact=FALSE)

输出结果

   Spearman's rank correlation rho
data: x1 and y1
S = 1401.7, p-value = 0.8214
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
-0.05390585

让我们看看更多示例-

示例

x2<-sample(1:100,500,replace=TRUE)
y2<-sample(1:50,500,replace=TRUE)
cor.test(x2,y2,method="spearman")

输出结果

   Spearman's rank correlation rho
data: x2 and y2
S = 20110148, p-value = 0.4387
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
0.03470902
Warning message:
In cor.test.default(x2, y2, method = "spearman") :
Cannot compute exact p-value with ties

示例

cor.test(x2,y2,method="spearman",exact=FALSE)

输出结果

   Spearman's rank correlation rho
data: x2 and y2
S = 20110148, p-value = 0.4387
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
0.03470902

示例

x3<-sample(101:110,5000,replace=TRUE)
y3<-sample(501:510,5000,replace=TRUE)
cor.test(x3,y3,method="spearman")

输出结果

   Spearman's rank correlation rho
data: x3 and y3
S = 2.0642e+10, p-value = 0.5155
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
0.009199129
Warning message:
In cor.test.default(x3, y3, method = "spearman") :
Cannot compute exact p-value with ties

示例

cor.test(x3,y3,method="spearman",exact=FALSE)

输出结果

   Spearman's rank correlation rho
data: x3 and y3
S = 2.0642e+10, p-value = 0.5155
alternative hypothesis: true rho is not equal to 0
sample estimates:
   rho
0.009199129
 类似资料:
  • 我需要计算Pearson和Spearman的相关关系,并将其用作张量流的度量。 对于皮尔逊来说,这是微不足道的: 但对于斯皮尔曼,我是无知的! 从这个答案中: 但是这个返回。。。 我试过: 但运行此命令时,我出现以下错误: tensorflow.python.framework.errors_impl。InvalidArgumentError:输入必须至少有k列。有1个,需要32个 [{node

  • 问题内容: 我想测试两个Swift枚举值的相等性。例如: 但是,编译器不会编译相等表达式: 我是否定义了自己的等于运算符的重载?我希望Swift编译器能够自动处理它,就像Scala和Ocaml一样。 问题答案: 正如@jedwid有用地指出的那样,从Swift 4.1开始(由于SE-0185,Swift还支持合成以及具有关联值的枚举。 因此,如果您使用的是Swift 4.1或更高版本,则以下内容将

  • 我有两个列表,每个列表中有两个矩阵。。是否有一种方法可以对它们进行矩阵计算,即相加,其中matrix1中的蓝色矩阵与matrix2中的蓝色矩阵相加,matrix1中的红色矩阵与matrix2中的红色矩阵相加。我能想到的唯一方法是在循环中进行计算 请注意,我将有大约10个,以及不止一组(即蓝色、红色、绿色、紫色)

  • 我有一堆4个光栅。我想要一个像素和它的8个相邻像素之间的平均时间相关性。 一些数据: 因此,对于位置x处的像素,在NE、E、SE、S等位置有8个相邻像素,我想要 以及保存在结果光栅中位置x处的平均值。边缘单元格将是NA,或者,如果可能的话,使用一个标志来计算与它所接触的单元格(3或5个单元格)的平均相关性。谢谢

  • 我正在寻找一种方法来声明“2个依赖项之间的依赖项”。 例如,在我的模块中,我ivy.xml以下行: 我的问题是,日志经典 1.0.13 依赖于 slf4j-api 1.7.5,而我的模块依赖于 1.6.6(slf4japiversion 的值)。 我无法更改 slf4japiversion,但将来它可以由其他人升级。 有没有办法声明对logback的依赖关系,以检索与我的slf4j api版本兼容

  • 我有以下数据 我想根据列, 我怎样才能做到这一点?