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的参数检验条件可以使用非参数方法(假设不合理时)
两组比较
数据独立
使用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相关性计算时缺失值的处理的主要内容,如果未能解决你的问题,请参考以下文章