R语言相关性检验函数2021.3.11

Python011

R语言相关性检验函数2021.3.11,第1张

得出相关系数我们并不一定能得出数据之间的相关水平,这时候我们会进行相关性检验来进行量化。

置信区间:confidence interval,是指由由样本统计量所构成的总体参数的估计区间。在统计学中,一个概率样本的置信区间是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度。简单来说就是只有概率还不行,还得知道概率发生的范围。例如,如果在一次大选中某人的支持率为55%,而置信水平0.95以上的置信区间是(50%,60%),那么他的真实支持率有百分之九十五的机率,落在百分之五十和百分之六十之间,因此他的真实支持率不足一半的可能性小于百分之5。

cor.test函数每次只能检测一组变量。它有四个重要的参数,x和y是需要检测的相关性的变量,alternative参数指明是进行两边检验(two.sided)或正相关检验(greater)或负相关检验(less)。method参数选择算法(Pearson、Spearman、Kendall)

psych包中的corr.test可以一次性检验多组变量,可以递归计算整个数据集。

该函数不仅计算了相关系数,而且计算了相关性检验的值

偏相关

t检验适用于样本含量较小,总体方差未知的正态分布数据

UScrime数据集是美国七个州的刑罚制度对犯罪率影响的数据集。

t检验使用t.test()函数,格式为y~x,其中y是数值型变量,x是二分型变量。波浪线后面是分组变量,南方和北方分成两组,做了t检验。

如果想在多余两个组的数据中进行比较,数据符合正态分布我们就用方差分析,如果不符合正态分布则用非参数的方法。在相关性检验中,我们可以用参数方法和非参数 方法。统计分析方法包括参数检验和非参数检验,

#b站视频——R语言入门与数据分析

#内置数据集

#固定格式的数据(矩阵、数据框或一个时间序列等)

#统计建模、回归分析等试验需要找合适的数据集

#R内置数据集,存储在,通过

help(package="datasets")

#通过data函数访问这些数据集

data()

#得到新窗口  前面:数据集名字  后面:内容

#包含R所有用到的数据类型,包括:向量、矩阵、列表、因子、数据框以及时间序列等

#直接输入数据集的名字就可以直接使用这些数据集

#输出一个向量

rivers

#是北美141条河流长度

#这些数据集的名字都是内置的,一般我们在给变量命名时最好不要重复

#否则数据集在当前对话中会被置换掉

#例如

rivers<-c(1,2,3)

rivers

#不过影响不大

#再使用data函数重新加载这个数据集就可以了

data("rivers")

rivers

#一些常用内置数据集

#默认介绍页面只有名字和介绍,并没有给出数据分类

#哪些是向量、矩阵、数据框等?

#查看数据集除了直接敲数据集名字显示数据之外

#还可以使用help函数查看每个数据集具体的内容

help("mtcars")

euro

#欧元汇率,长度为11,每个元素都有命名

#输出向量的属性信息

names(euro)

#将5个数据构成一个数据框

向量

state.abb #美国50个州的双字母缩写

state.area #美国50个州的面积

state.name #美国50个州的全称

因子

state.division #美国50个州的分类,9个类别

state.region #美国50个州的地理分类

#

state<-data.frame(state.name,state.abb,state.area,state.division,state.region)

state

state.x77 #美国50个州的八个指标

state.x77

VADeaths #1940年弗吉尼亚州死亡率(每千人)

volcano #某火山区的地理信息(10米×10米的网格)

WorldPhones #8个区域在7个年份的电话总数

iris3 #3种鸢尾花形态数据

#以上矩阵→适合画热图

heatmap(volcano)

#这里只是作为一个演示,还需要对这个图进行一些调整

#更复杂的数据结构

Titanic #泰坦尼克乘员统计,是一个数组

UCBAdmissions #伯克利分校1973年院系、录取和性别的频数

crimtab #3000个男性罪犯左手中指长度和身高关系

HairEyeColor #592人头发颜色、眼睛颜色和性别的频数

occupationalStatus #英国男性父子职业联系

#类矩阵

eurodist #欧洲12个城市的距离矩阵,只有下三角部分

Harman23.cor #305个女孩八个形态指标的相关系数矩阵

Harman74.cor #145个儿童24个心理指标的相关系数矩阵

#R中内置最多的数据集——数据框

cars #1920年代汽车速度对刹车距离的影响

iris #3种鸢尾花形态数据

mtcars #32辆汽车在11个指标上的数据

rock #48块石头的形态数据

sleep #两药物的催眠效果

swiss #瑞士生育率和社会经济指标

trees #树木形态指标

USArrests #美国50个州的四个犯罪率指标

women #15名女性的身高和体重

#列表

state.center #美国50个州中心的经度和纬度

#类数据框

Orange #桔子树生长数据

#时间序列数据,和数据框类似,不同的是具有时间序列的顺序,是数据分析中非常常见的格式

#能反映出变化情况以及变化的趋势等

#因此有很多专门的方法用于时间序列的数据分析

co2 #1959-1997年每月大气co2浓度(ppm)

presidents #1945-1974年每季度美国总统支持率

uspop #1790–1970美国每十年一次的人口总数(百万为单位)

#除了内置数据集之外,许多R扩展包中也内置了很多数据集

#这些数据集作为扩展包的函数使用的案例

#加载R包之后这些数据集也同样被加载进来

#例如MASS包中的Cars93数据

#包含了27个变量,是1993年93辆汽车的型号指标

install.packages("MASS")

library("MASS")

help("Cars93")

#使用data函数在参数package中等于对应R包的名字,即可列出每个R包中包含的数据集

#ex

data(package="MASS")

#显示R中所有可用的数据集

data(package=.packages(all.available = TRUE))

#不加载R包使用其中的数据集

data(Chile,package="car")

Chile

#>data(Chile,package="car")

#Warning message:

#  In data(Chile, package = "car") : data set ‘Chile’ not found

#>Chile

#Error: object 'Chile' not found

install.packages("car")

library("car")

help("Chile")

相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。简单来说就是变量之间是否有关系。用正负号表示正相关还是负相关,数值(一般都在-1到1之间)表示相关程度的强弱。

相关性衡量指标包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格(polychoric)相关系数和多系列(polyserial )相关系数等,定义以及各自的优缺点自己查。

cor函数计算的是列与列间的相关系数,可以计算三种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数,默认是Pearson相关系数,也可以使用method参数来指定另外两种相关系数。

结果是一个对角矩阵,自己和自己的相关系数(对角线值)均为1。

从结果可以看出,文盲率和犯罪率有很强的正相关关系,而收入和犯罪率呈负相关。

面对大数据时,可以只计算一组变量与另一组变量之间的关系,而不要将所有变量间都计算一次,cor函数也可以很好的实现。

cor函数只能计算三种算法,像相关系数、多分格(polychoric)相关系数和多系列(polyserial )相关系数等可以通过R软件的扩展包来实现。例如ggm包可以用pcor函数来实现偏相关系数计算,这个函数有两个参数,第一个参数是一个数值向量,前两个数值表示要计算相关系数的下标,其余的数值为条件变量的下标。第二个参数是cov函数计算出来的协方差结果。

cov函数计算的是列与列的协方差,可以衡量两个变量的总体误差。在计算偏相关的时候可以用到协方差的结果。默认是Pearson相关系数,也可以使用method参数来指定另外两种相关系数。