精华内容
下载资源
问答
  • R语言相关性分析

    万次阅读 多人点赞 2019-11-12 22:52:00
    文章目录@[toc]Pearson相关系数(积差相关系数)适用条件Spearman等级相关系数适用条件Kendall's Tau相关系数适用条件偏相关适用条件R语言实现Pearson、Spearman、Kendall示例偏相关相关性显著性检验相关性可视化在...

    相关性分析就是通过定量指标描述变量之间的强弱、直接或间接的联系。

    常见相关性指标

    • Pearson相关系数(积差相关系数)
    • Spearman等级相关系数
    • Kendall’s Tau相关系数
    • 偏相关

    Pearson相关系数(积差相关系数)

    Pearson相关系数是用于表示相关性大小的最常用指标,数值介于-1~1之间,越接近0相关性越低,越接近-1或1相关性越高。正负号表明相关方向,正号为正相关、负号为负相关。

    适用条件

    • 两个正态分布的连续变量

    Spearman等级相关系数

    又称为秩相关系数,利用两变量的秩次大小来进行分析,属于非参数统计方法。

    适用条件

    • 适用于不满足Pearson相关系数正态分布要求的连续变量。
    • 也可以用于有序分类变量的之间的相关性测量。

    Kendall’s Tau相关系数

    Kendall’s Tau相关系数是一种非参数检验。

    适用条件

    • 适用于两个有序分类变量。

    偏相关

    当要进行相关性分析的两个变量其取值受到其他变量影响时,可以利用偏相关分析对其他变量进行控制,在控制其他变量基础之上进行这两个变量之间相关性分析。

    适用条件

    • 考虑第三方影响的两个变量之间的相关性分析。

    R语言实现

    Pearson、Spearman、Kendall

    Pearson、Spearman、Kendall相关系数都可以通过cor函数实现,cov协方差函数参数同cor函数。

    协方差是相关分析中一个重要概念,方差是协方差的一种特殊存在。样本协方差是离均差乘积在样本中的平均,可以近似反映变量x与变量y之间的联系强弱和方向。协方差可以引出相关分析概念。

    协方差的大小与x、y的量纲有关。

    函数格式基本为:
    cor(x,use=,method=)

    参数描述
    x矩阵或数据框
    use指定缺失数据的处理方式。可选项:all.obs(假设不存在缺失数据)、everything(数据存在缺失值时,相关系数计算结果会显示missing)、complete.obs(行删除)、pairwise.complete.obs(成对删除)
    method指定相关系数的类型。可选类型为pearson、spearman、kendall

    默认为use=‘everything’,method=‘pearson’

    示例

    • 数据集

    state.x77:R语言自带美国50州1977年的人口、收入、文盲率、预期寿命、谋杀率和高中毕业率数据。

    #选中state.x77数据集收入与高中毕业率变量
    states <- state.x77[,c(2,6)]
    #协方差
    cov(states)
                Income    HS Grad
    Income  377573.306 3076.76898
    HS Grad   3076.769   65.23789
    #相关性分析
    cor(states)
               Income   HS Grad
    Income  1.0000000 0.6199323
    HS Grad 0.6199323 1.0000000
    #spearman相关
    cor(states,method = 'spearman')
               Income   HS Grad
    Income  1.0000000 0.5104809
    HS Grad 0.5104809 1.0000000
    #结果显示,收入与高中毕业率有较高相关性
    

    偏相关

    使用ggm包pcor()函数计算偏相关系数。

    函数调用格式为:

    pcor(u,s)

    其中,U为一个数值向量,前两个数值表示要计算相关系数的变量下标,其余变量为条件变量下标。S为变量的协方差矩阵。

    #载入ggm包
    library(ggm)
    #生成数据集
    states <- state.x77[,1:6]
    #获取数据集各变量名称
    colnames(states)
    [1] "Population" "Income"    
    [3] "Illiteracy" "Life Exp"  
    [5] "Murder"     "HS Grad"   
    #计算偏相关
    pcor(c(1,5,2,3,6),cov(states))
    [1] 0.3462724
    #结果显示,在控制了收入、文盲率个高中毕业率影响时,人口和谋杀率之间的相关系数为0.346
    

    相关性显著性检验

    使用cor.test()函数对单个Pearson、Spearman、kendall相关系数进行检验。

    函数格式为:

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

    其中,xy为要检验相关性的变量,alternative则用来指定进行双侧检验或单侧检验(‘two.side’、‘less’、‘greater’)。method用以指定要计算的相关类型(Pearson、Spearman、kendall)。

    #检验预期寿命与谋杀率相关性。
    cor.test(states[,3],states[,5])
    
    	Pearson's product-moment
    	correlation
    
    data:  states[, 3] and states[, 5]
    t = 6.8479, df = 48, p-value =
    1.258e-08
    alternative hypothesis: true correlation is not equal to 0
    95 percent confidence interval:
     0.5279280 0.8207295
    sample estimates:
          cor 
    0.7029752
    #结果显示,P大于0.05。即两者之间相关性微乎其微。
    

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

    psych包中corr.test()可以一次检验多种。

    library(psysh)
    corr.test(states,use = 'complete')
    #结果太大,不再展示
    

    相关性可视化

    这里只展示最简单的相关性可视化方法。
    详细内容见绘图文章板块

    最简单两个连续变量相关性可视化用散点图表达。

    使用plot()函数即可。

    #选中变量收入与高中毕业率
    states <- state.x77[,c(2,6)]
    #绘图
    plot(states)
    

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 记录一下R语言学习过程,对于R的基础就是基本数据类型(向量,矩阵,数据框,字符串等等),库的调用以及函数自定义,还需要多加学习! 进入主题,今天主题是相关性分析: 以下为代码: y<-c(170,175,180) //定义...

    记录一下R语言学习过程,对于R的基础就是基本数据类型(向量,矩阵,数据框,字符串等等),库的调用以及函数自定义,还需要多加学习!
    进入主题,今天主题是相关性分析:
    以下为代码:

    y<-c(170,175,180) //定义向量
    y1<-c(20,25,30)
    
    y<-cor.test(y,y1,method="spearman") //调用库计算2个向量之间的spearman系数
    y
    
    x<-cor.test(y,y1)
    x
    
    A <- matrix(11:16, nrow=3, ncol=2) //定义矩阵
    A
    
    x<-cor.test(A, adjust = "none", use = "complete") //调用库计算相关性系数
    x
    
    
    csvpath<-file.choose()//调用文件选择对话框
    csvpath
    df<-read.csv(csvpath,header=T,row.names = 1) //读取CSV文件成数据框,df是data.frame的缩写
    df
    
    Y<- cor(df) //调用库计算相关性系数
    Y
    
    wmj<-cor(df,method = 'spearman') //调用库计算spearman系数
    wmj
    
    install.packages("Hmisc")//安装HMISC包,用来将数据框转换成矩阵
    
    res2<-rcorr(as.matrix(df))//转换成矩阵
    res2
    
    WMJ_R<-res2$r  //获取R值
    WMJ_R
    
    WMJ_N<-res2$n  //获取样本个数
    WMJ_N
    
    WMJ_P<-res2$P  //获取P值
    WMJ_P
    
    
    //定义函数将矩阵转成数据框
    flattenCorrMatrix <- function(cormat, pmat) {
      ut <- upper.tri(cormat)
      data.frame(
        row = rownames(cormat)[row(cormat)[ut]],
        column = rownames(cormat)[col(cormat)[ut]],
        cor  =(cormat)[ut],
        p = pmat[ut]
      )
    }
    
    WMJ_Y<-flattenCorrMatrix(res2$r,res2$P)
    WMJ_Y
    
    df1<-flattenCorrMatrix(res2$r,res2$P)
    abs(df1$cor)>0.25
    
    y_wmj<-df1[abs(df1$cor)>0.25,]
    y_wmj
    
    install.packages("corrplot") //安装图形打印包
    library("corrplot")  //加载图像打印包
    corrplot(res2$r,type="upper",tl.col ="black",tl.srt = 45)  //打印图形
    
    install.packages("PerformanceAnalytics")
    library("PerformanceAnalytics")
    chart.Correlation(df,histogram = T,pch=19)       //打印相关性图形
    

    代码关键部分添加了注释方便阅读与理解,以上就是相关性分析学习记录

    展开全文
  • corrplot(corr,order="AOE",method="color",addCoef.col="orange")
  • R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 目录 R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 #安装ggcorrplot包 #导入数据并计算相关性系数 # 计算相关性的P...

    R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战

    目录

    R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战

    展开全文
  • 相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度 相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析,即两个变量之间是否有联系 相关性...

    相关性分析

    相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度
    相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析,即两个变量之间是否有联系

    相关性衡量指标

    Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数,多分格(polychoric)相关系数和多系列(polyserial)相关系数

    • cor()函数

    cor(x, y = NULL, use = “everything”,method = c(“pearson”, “kendall”, “spearman”))
    x:数字向量、矩阵或数据帧。
    y:NULL(默认值)或向量、矩阵或与x兼容的数据帧。默认值相当于y = x(但更有效)。
    use:一个可选字符串,提供在缺失值存在时计算协方差的方法。它必须是字符
    method:指示要计算的相关系数(或协方差)的字符串。

    > s <- state.x77
    > cor(s)
                Population     Income  Illiteracy    Life Exp     Murder     HS Grad      Frost        Area
    Population  1.00000000  0.2082276  0.10762237 -0.06805195  0.3436428 -0.09848975 -0.3321525  0.02254384
    Income      0.20822756  1.0000000 -0.43707519  0.34025534 -0.2300776  0.61993232  0.2262822  0.36331544
    Illiteracy  0.10762237 -0.4370752  1.00000000 -0.58847793  0.7029752 -0.65718861 -0.6719470  0.07726113
    Life Exp   -0.06805195  0.3402553 -0.58847793  1.00000000 -0.7808458  0.58221620  0.2620680 -0.10733194
    Murder      0.34364275 -0.2300776  0.70297520 -0.78084575  1.0000000 -0.48797102 -0.5388834  0.22839021
    HS Grad    -0.09848975  0.6199323 -0.65718861  0.58221620 -0.4879710  1.00000000  0.3667797  0.33354187
    Frost      -0.33215245  0.2262822 -0.67194697  0.26206801 -0.5388834  0.36677970  1.0000000  0.05922910
    Area        0.02254384  0.3633154  0.07726113 -0.10733194  0.2283902  0.33354187  0.0592291  1.00000000
    
    > x <- head(state.x77[,c(1,2,3,6)])
    > y <- head(state.x77[,c(4,5)])
    > x
               Population Income Illiteracy HS Grad
    Alabama          3615   3624        2.1    41.3
    Alaska            365   6315        1.5    66.7
    Arizona          2212   4530        1.8    58.1
    Arkansas         2110   3378        1.9    39.9
    California      21198   5114        1.1    62.6
    Colorado         2541   4884        0.7    63.9
    > y
               Life Exp Murder
    Alabama       69.05   15.1
    Alaska        69.31   11.3
    Arizona       70.55    7.8
    Arkansas      70.66   10.1
    California    71.71   10.3
    Colorado      72.06    6.8
    > cor(x,y)
                  Life Exp      Murder
    Population  0.47253096  0.04379365
    Income      0.03472308 -0.22600224
    Illiteracy -0.78196394  0.62736282
    HS Grad     0.36972381 -0.52085031
    
    • ggm包中的pcor()函数:偏相关性函数

    偏相关是指在控制一个或多个变量时剩余其他变量之间的关系

    > pcor(c(1,5,2,3,6),cov(state.x77))
    [1] 0.3462724
    
    展开全文
  • R语言特征值相关性分析

    千次阅读 2019-10-16 09:24:45
    大到几个转录组样本的整体相关性分析,小到挑选了一些候选基因看它们在不同样本中的表达模式相关性。当我们做完了相关性分析的时候,常常会用下面这种图形来展示: 那么问题来了,有没有别的方法,可以让我的...
  • 相关性分析 gaom 在我们平时分析的时候经常会遇到样品间的相关性检验分析并以此判断对我们后续分析的影响今天主要跟大家讨论一下简单的相关性分析以及结果展示 利用的测试数据还是之前我们在 geo 数据库中随便找的一...
  • 实用标准文案 相关性分析 gaom 在我们平时分析的时候经常会遇到样品间的相关性检验分析并以此判断对我们 后续分析的影响今天主要跟大家讨论一下简单的相关性分析以及结果展示 利用的测试数据还是之前我们在 geo ...
  • R语言:利用相关性分析对复杂数据进行数据探索
  • 此篇为转载R语言学习笔记之相关性矩阵分析及其可视化 数据相关性分析及可视化1. 新建数据集2. Hmisc3. 可视化相关系数矩阵4. chart.Correlation()来自于包PerformanceAnalytics5. 此篇为笔记转载如有侵权联系删除 1....
  • 1. 离体 看微信群中有人聊天,浏览了一下,不同专业的内容比较分散,很多读都读不通顺,隔行如隔山,...R语言数据分析指南,https://mp.weixin.qq.com/s/yQqmETSQfPoNCw-osrOeGQ 生信技能树:https://mp.weixin.qq.com
  • R语言相关性分析

    千次阅读 2016-03-14 20:15:00
    衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: ...R语言中求两个随机变量pearson相关系数的函数: 1//赋予a,b向量值 2a<-c(1,2,3) 3b<-c(11,12,14) 4 5...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,237
精华内容 5,694
关键字:

r语言相关性分析