具有 abline 函数的散点图与 Spearman 的 rho 不匹配
Scatterplot with abline function is not matching Spearman's rho
我需要 运行 两个变量之间与 Spearman 的相关性,然后用 R 中的散点图绘制结果。
我知道通常正 rho 与散点图中的上升趋势线相关联,负值与下降趋势线相关联。
但是,我得到了正 rho(rho = 0.02,p = 0.91)
以及趋势线下降的散点图,如下图所示。
下面给出了我使用的代码,可以找到数据集here
cor.test(Finale_from_trials_online$Mean_lat_LG, Finale_from_trials_online$Mean_Lat_cue_1, method = "spearman", exact = FALSE)
plot(Finale_from_trials$Mean_Lat_cue_1, Finale_from_trials$Mean_lat_LG, main="LG and cue 1",
xlab="Mean latency 1", ylab="Mean latency LG", pch=19)
abline(lm(Finale_from_trials$Mean_lat_LG~Finale_from_trials$Mean_Lat_cue_1), col="red") # regression line (y~x)
我在代码中做错了什么吗?
问题是否与 abline
参数中的 lm
有关,因为 Spearman 只是检查单调相关性,而我正在绘制线性趋势线?
还是p值那么大,结果不显着呢?
有人知道为什么高 p 值会导致这种情况吗?
Spearman 的 r 是使用值的排名计算的。这就是为什么图左侧具有较大 y 值的离群值被数量更多且 y 值略低于图左侧的异常值所抵消的原因。但正如您所指出的,r 值非常小,根据您的假设检验,您无法判断 Spearman 的 r 是否真的不同于 0。
相比之下,您包含的线性模型对这些异常值很敏感。事实上,双变量线性模型始终具有与 Pearson r 相同的 beta 符号,因为两种情况下的符号均来自协方差。如果你用 method = "pearson"
做 cor.test()
你会发现它是负数。然而,由于 Spearman 的 r 不是基于这些符号可能不同的协方差。
我需要 运行 两个变量之间与 Spearman 的相关性,然后用 R 中的散点图绘制结果。 我知道通常正 rho 与散点图中的上升趋势线相关联,负值与下降趋势线相关联。
但是,我得到了正 rho(rho = 0.02,p = 0.91) 以及趋势线下降的散点图,如下图所示。
下面给出了我使用的代码,可以找到数据集here
cor.test(Finale_from_trials_online$Mean_lat_LG, Finale_from_trials_online$Mean_Lat_cue_1, method = "spearman", exact = FALSE)
plot(Finale_from_trials$Mean_Lat_cue_1, Finale_from_trials$Mean_lat_LG, main="LG and cue 1",
xlab="Mean latency 1", ylab="Mean latency LG", pch=19)
abline(lm(Finale_from_trials$Mean_lat_LG~Finale_from_trials$Mean_Lat_cue_1), col="red") # regression line (y~x)
我在代码中做错了什么吗?
问题是否与 abline
参数中的 lm
有关,因为 Spearman 只是检查单调相关性,而我正在绘制线性趋势线?
还是p值那么大,结果不显着呢?
有人知道为什么高 p 值会导致这种情况吗?
Spearman 的 r 是使用值的排名计算的。这就是为什么图左侧具有较大 y 值的离群值被数量更多且 y 值略低于图左侧的异常值所抵消的原因。但正如您所指出的,r 值非常小,根据您的假设检验,您无法判断 Spearman 的 r 是否真的不同于 0。
相比之下,您包含的线性模型对这些异常值很敏感。事实上,双变量线性模型始终具有与 Pearson r 相同的 beta 符号,因为两种情况下的符号均来自协方差。如果你用 method = "pearson"
做 cor.test()
你会发现它是负数。然而,由于 Spearman 的 r 不是基于这些符号可能不同的协方差。