r语言平均值显著性检验_R语言入门:检验相关性的显著性

一、问题

计算两个变量的相关性,但不知道相关性在统计上是否足够显著。

二、解决方案

cor.test函数不仅可以计算P值,还可以算出相关性的可信区间。如果变量来自正态分布总体,可以用默认的相关性定义,即Pearson相关性:

代码

> cor.test(x, y)

对于非正态分布的总体,可以用Spearman相关性:

代码

> cor.test(x, y, method=”spearman”)

这个函数会返回几个值,包括显著性检验的P值。通常,P值小于0.05表示相关性很有可能是显著的,而P值大于0.05则表示不显著。

三、讨论

根据我的经验,人们经常没有检查相关性的显著性。实际上,不少人甚至都不知道相关性也有可能是不显著的。他们就是把数据丢到计算机中,然后折腾出一个相关性,最后盲目的相信结果。他们其实应该问问自己:数据量够大吗?相关性足够大吗?庆幸的是,cor.test函数可以回答这些问题。假设有两个向量,x和y,两者中的值符合正态分布。我们可以看到它们的相关系数大于0.83:

代码

> cor(x, y)

[1] 0.8352458

别天真了!试试cor.test,p值大到了0.1648:

代码

> cor.test(x, y)

Pearson’s product-moment correlation

data: x and y

t = 2.1481, df = 2, p-value = 0.1648

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

-0.6379590 0.9964437

sample estimates:

cor

0.8352458

通常P值的阈值是0.05,所以我们可以得出结论:这个相关性不显著。

还可以用置信区间检查相关性。在这个例子中,置信区间是(0.638, 0.996)。这个区间包含0,所以相关性有可能是0,其实也就是可能没有相关性。要强调一下,不要盲目的相信相关性是显著的。

cor.test函数还会输出cor得到的点估计(在最下面,有“sample estimates”说明),就不需要再运行cor了。

默认情况下,cor.test会计算皮尔森相关性,它假设整体是服从正态分布的。Spearman方法是无参的,所以没有这个假设。在处理非正态分布的数据时,用method=”spearman”。

End.

来源:数据分析网

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值