R x相关性计算时缺失值的处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R x相关性计算时缺失值的处理相关的知识,希望对你有一定的参考价值。

参考技术A

我们拿到的观测数据常常是有缺失值的,有时候基于数据分布是可以预测缺失值。有时候却是不能,比如缺失值太多,数据量太小。因此,计算相关性时需要考虑到缺失值的使用。在R中的基础函数cor中有相当全面的缺失值处理方法。

在使用cor(),可以指定x,y两个向量;也可以使用一个矩阵,计算所有样本两两之间的相关性。
use参数可以设定缺失值处理的方法,方法有:everything,all.obs,complete.obs,na.or.complete,pairwise.complete.obs

在这几种方法中everything和na.or.complete在没有观测值时,返回NA;其他方法无法计算。

##示例

相同点:

区别:
二者完整的观测值定义的范围不同;当处理数据是矩阵时,complete.obs是观测值在整个数据中不缺失才算完整;pairwise.complete.obs是在两两样本(正在计算的样本)之间都存在的观测值就是完整。

##示例:

R语言实战——2.2基本统计分析




基本统计分析

01

相关

相关的类型

Pearson spearman kendall

pearson衡量像个定量变量之间的线性相关程度spearman衡量分级定序变量之间的相关程度kendall是非参数的等级相关度量

Cor()函数

cor(x,use=method=)

可以计算上述三种相关系数,默认计算pearson相关系数

x为矩阵或数据框

use指定缺失值的处理方式:all.obs遇到缺失值时将报错;everything遇到缺失值时其结果将被设为missing;complete,obs删除缺失行;pairwise.complete.obs成对删除

cor(x,y)

计算一组变量与另一组变量的相关系数


cov()函数可以用来计算协方差

偏相关

指控制一个或多个变量,另外两个定量变量之间的相互关系

可以使用ggm包中的pcor()函数计算偏相关系数pcor(u,s)

示例:

library(ggm)

colnames<-(states)

pcor(c(1,5,2,3,4,6), cov(states))

u为数值向量,前两个数值即表示要计算相关系数的两个变量的位置,其余数值表示控制变量的位置

相关性的显著性检验

cor.test()对相关系数进行检验

cor.test(x, y, alternative= , method= )

alternative用于指定进行双侧检验还是单侧检验,two.side(默认)双侧检验,less当总体的相关系数小于0时,greater当总体的相关系数大于0时

method用于选择哪一类相关系数,pearsonspearmankendall

其检验的原假设为:两个变量间相互独立

cor.test()一次只能检验一种相关关系

psych包中的corr.test()可以一次检验多个相关关系

偏相关系数检验

psych包中的pcor.test()可用于检验控制一个或多个变量时两个变量之间的条件独立性pcor.test(r,q,n)

r为偏相关系数,q为要控制的变量的位置,n为样本大小

02

t检验

独立样本的t检验

一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的假设

t.test(y~x,data=) 

y为数值型变量,x为二分变量

t.test(y1~y2)

y1 y2分别为各组的结果变量,为数值型变量

该t检验默认假定方差不相等并使用Welsh的修正自由度

可以添加函数var.equal=TRUE假定方差相等并使用合并方差估计

非独立样本的t检验

t.test(y1,y2,paired=TRUE)

03

组间差异的非参数检验

定义

若数据无法满足t检验或ANOVA的参数检验条件可以使用非参数方法(假设不合理时)

R语言实战——2.2基本统计分析(二)

两组比较

数据独立

使用Wilcoxon秩和检验,wilcoxon.test(y~x,data=)  Wilcoxon.test(y1,y2)


数据非独立

使用Wilcoxon符号秩检验,wilcoxon.test(y~x,data=,paired=TRUE)  Wilcoxon.test(y1,y2,paired=TRUE)

多于两组的比较

数据独立

使用Kruskal-Wallis检验

kruskal.test(y ~ A,data=)

y为数值型结果变量,A为拥有两个或更多水平的分组变量


数据非独立

使用Friedman检验

friedman.test(y ~ A|B,data=)

A为分组变量,B为用以认定匹配观测的区组变量

我知道你在看


以上是关于R x相关性计算时缺失值的处理的主要内容,如果未能解决你的问题,请参考以下文章

53-R语言中缺失值处理方法

相关系数r的计算公式是啥?

R语言-缺失值判断以及处理

R进阶:缺失值的处理、拟合关系

R语言之实战分析

R语言-----数据分析2