R 相关与相关性的显著性检验

2024-08-29 10:58

本文主要是介绍R 相关与相关性的显著性检验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.数据说明

R语言的自带的数据包中states.x77(关于美国50个州的某些数据)第1至6列的50份数据从统计的角度以及R语言的角度进行分析,看看R语言是怎么做相关分析的,同时怎么看分析出的结果 
首先我们观察一下states.x77中第1至6列的数据及其意义

列名解释单位
Population人口
Income人均收入美元/人
Illiteracy文盲率%
Life Exp预期寿命
Murder谋杀率%(每100,000人)
HS Grad高中毕业率%

2.统计学的计算过程

(1)我们拿出文盲率(设为x)和预期寿命(设为y)来从统计的角度计算相关系数r以及显著性水平α:

首先,我们假设文盲率和预期寿命符合计算Pearson相关系数的变量要求: 
①两变量相互独立 
②两变量为连续变量 
③两变量的分布遵循正态分布 
④两变量呈线性关系

换句话来说,当你选择的变量符合上要求的时候,可以选择使用Pearson相关系数来求两个变量间的相关关系

(2)按照上一篇文章对相关分析的解说,计算Pearson相关系数的时候,有两个步骤:

①计算相关系数r 
②计算显著性水平α

因此这里作出简单的讲解: 
①计算相关系数r 
Pearson的相关系数r的公式为: 
Pearson相关系数 
那么把数据代入到公式中计算

#state.x77第3列为文盲率
x <- state.x77[,3]
#state.x77第4列为预期寿命
y <- state.x77[,4]
#样本总数为50
n <- nrow(state.x77)
#按照公式设置分子
Numerator <- (n*sum(x*y)-sum(x)*sum(y))
#按照公式设置分母
Denominator <- (sqrt(n*sum(x^2)-sum(x)^2)*sqrt(n*sum(y^2)-sum(y)^2))
#计算出相关系数r
r <- Numerator / Denominator
r
[1] -0.5884779
  • 这个时候我们根据1977年发布的美国50个州的states.x77样本中的数据算出了相关系数r=-0.5884779,因为样本states.x77只是从总体(设为总体A)抽出来的数据(总体应该是这么多年来美国各个州的文盲率和预期寿命的数据),那么这个states.77样本中算出的相关系数r并不一定能代表总体A的相关系数ρ

相关系数

②计算显著性水平α 
设想一下,如果我们的总体A的相关系数ρ实际上为0的(也就是说总体上文盲率和预期寿命没有相关关系),因为误差或者抽样偏差的关系,抽样所得的states.x77的文盲率和预期寿命数据计算出来的相关系数r并不为0(也就是说样本上显示文盲率和预期寿命有相关关系),因此要进行显著性检验:

提出假设: 
H0:总体A的相关系数ρ=0(也就是说假设总体上文盲率和预期寿命没有相关关系) 
H1:总体A的相关系数ρ≠0(也就是说总体上文盲率和预期寿命有相关关系)

计算检验的统计量: 
T检验 
查表确定显著性水平α

把数据代入公式中计算:

T <- r*(sqrt(n-2))/sqrt(1-r^2)
T
[1] -5.042706

得出T=-5.042706

3.R语言应用以及观察结果

在R语言中,有直接的函数cor( )计算出Pearson相关系数 
同样是两个步骤: 
计算文盲率和预期寿命之间的相关系数r:

r <- cor(state.x77[,3],state.x77[,4])
r
[1] -0.5884779

和我们使用计算Pearson系数计算出的结果一致 
进行显著性检验

#使用cor.test()函数计算文盲率和预期寿命的相关关系,默认方法为Pearson相关分析
T <- cor.test(state.x77[,3],state.x77[,4])
T
Pearson's product-moment correlation
#这里列名数据来源
data:  state.x77[, 3] and state.x77[, 4]
#t值和使用显著性检验的公式计算出的t值一致
#自由度df为n-2=48
#p值查表可以得出6.969e-06 < 0.05
t = -5.0427, df = 48, p-value = 6.969e-06
#因此有95%以上的几率可以拒绝原假设总体A的相关系数ρ=0
#即文盲率和预期寿命的相关系数显著地不为0
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:-0.7448226 -0.3708811
#这里列示Pearson相关系数
sample estimates:cor 
-0.5884779

4.R语言扩展应用

当我们不仅仅需要计算文盲率和预期寿命的相关关系,而是计算state.x77中各个数据之间的相关关系,使用cor()也是可以做到的: 
再次按照相关分析的步骤: 
①计算相关系数r(两两变量间的相关系数)

> cor(state.x77[1:6)Population     Income  Illiteracy    Life Exp     
Population  1.00000000  0.2082276  0.10762237 -0.06805195  
Income      0.20822756  1.0000000 -0.43707519  0.34025534 
Illiteracy  0.10762237 -0.4370752  1.00000000 -0.58847793  
Life Exp   -0.06805195  0.3402553 -0.58847793  1.00000000 
Murder      0.34364275 -0.2300776  0.70297520 -0.78084575  
HS Grad    -0.09848975  0.6199323 -0.65718861  0.58221620 
Frost      -0.33215245  0.2262822 -0.67194697  0.26206801 
Area        0.02254384  0.3633154  0.07726113 -0.10733194  Murder     HS Grad
0.3436428 -0.09848975
-0.2300776  0.61993232
0.7029752 -0.65718861
-0.7808458  0.58221620
1.0000000 -0.48797102
-0.4879710  1.00000000
 -0.5388834  0.36677970
 0.2283902  0.33354187

②计算显著性水平α

> #赋值state.x77中第1至6列的数据给states
> states <- state.x77[,1:6]
> #执行对states中的缺失值进行行删除的显著性检验
> corr.test(states, adjust = "none", use = "complete")
Call:corr.test(x = states, use = "complete", adjust = "none")
Correlation matrix 
#进行Pearson相关系数计算Population Income Illiteracy Life Exp Murder HS Grad
Population       1.00   0.21       0.11    -0.07   0.34   -0.10
Income           0.21   1.00      -0.44     0.34  -0.23    0.62
Illiteracy       0.11  -0.44       1.00    -0.59   0.70   -0.66
Life Exp        -0.07   0.34      -0.59     1.00  -0.78    0.58
Murder           0.34  -0.23       0.70    -0.78   1.00   -0.49
HS Grad         -0.10   0.62      -0.66     0.58  -0.49    1.00
#样本数
Sample Size 
[1] 50
#进行显著性检验
Probability values (Entries above the diagonal are adjusted for multiple tests.) Population Income Illiteracy Life Exp Murder HS Grad
Population       0.00   0.15       0.46     0.64   0.01     0.5
Income           0.15   0.00       0.00     0.02   0.11     0.0
Illiteracy       0.46   0.00       0.00     0.00   0.00     0.0
Life Exp         0.64   0.02       0.00     0.00   0.00     0.0
Murder           0.01   0.11       0.00     0.00   0.00     0.0
HS Grad          0.50   0.00       0.00     0.00   0.00     0.0To see confidence intervals of the correlations, print with the short=FALSE option

从以上结果可以看出,具有显著性相关关系(设显著性水平为0.05,即超过95%的概率有相关关系)的两两变量有:

变量P值r值
Population,Murder0.010.34
Income, Illiteracy0.00-0.44
Income,Life Exp0.020.34
Income, HS Grad0.000.62
Illiteracy, Life Exp0.00-0.59
Illiteracy, Murder0.000.70
Illiteracy, HS Grad0.00-0.66
Life Exp, HS Grad0.000.58
Life Exp, Murder0.00-0.78
Murder, HS Grad0.00-0.49

这篇关于R 相关与相关性的显著性检验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117670

相关文章

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10