精华内容
下载资源
问答
  • 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语言相关性分析及步骤

    千次阅读 2021-03-17 15:56:35
    记录一下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)       //打印相关性图形
    

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

    展开全文
  • R语言特征值相关性分析

    万次阅读 多人点赞 2018-02-11 22:59:44
    转载自...当我们做完了相关性分析的时候,常常会用下面这种图形来展示:那么问题来了,有没有别的方法,可以让我的相关性分析展现方式更高大上呢?请出今天的主角,corrplot程序包!1老规矩...


    转载自http://www.sohu.com/a/200219694_278730

    接触这么多组学数据,大家肯定做过各种相关性分析。大到几个转录组样本的整体相关性分析,小到挑选了一些候选基因看它们在不同样本中的表达模式相关性。当我们做完了相关性分析的时候,常常会用下面这种图形来展示:

    那么问题来了,有没有别的方法,可以让我的相关性分析展现方式更高大上呢?

    请出今天的主角,corrplot程序包

    1

    老规矩,第一步是安装并调用corrplot:

    install.packages("corrplot")

    library("corrplot")

    2

    第二步,整理数据。今天就拿一些女明星的身高、体重、年龄、微博粉丝与女神指数的数据来分析一下纯属杜撰

    3

    第三步,我们读取数据,并做相关性分析。

    a<-read.table(file=file.choose(),row.names=1,header=T,sep="t")

    b<-cor(a)

    4

    第四步,非常简单,可以直接作图了。

    corrplot(b) #这里默认是圆形显示

    还可以用饼图(pie),颜色(color)等等来显示。

    corrplot(b,method="pie")

    corrplot(b,method="color",addCoef.col="grey") #用颜色显示,同时显示相关系数,是不是跟开头绿绿的图一样啦。

    5

    第五步,是时候展示高端操作了!我们把颜色对调一下,正相关为红色,负相关为海军蓝色,同时把右上角用圆形展示。

    col=colorRampPalette(c("navy", "white", "firebrick3")) #设置颜色

    corrplot(b,type="upper",col=col(10),tl.pos="d") #tl.pos="d"即不显示周边各列名字

    6

    第六步,填补下半部分图形,我们希望既可以图形化展示,也能显示数字,增强图形可读性。

    corrplot(b,add=TRUE, type="lower", method="number",diag=FALSE,tl.pos="n", cl.pos="n",col=col(10))

    相关性分析结论:

    1. 女神指数与身高成正相关,与体重呈负相关(嗯,符合大众审美);

    2. 女神指数与年龄相关性不明显(嗯,志玲姐姐立功了);

    3. 微博粉丝数与女神指数还是有一定正相关性;

    4. 大家也发现了,相关性其实都不是很显著,那是因为我们选的数据都是准女神以上级别的,她们之间的差距本来就很小,所以数据还是很反映规律的。

    7

    最后,我们添加一组贾玲和凤姐的数据,看看结果会不会有显著变化......

    嗯......效果很明显。

    展开全文
  • R语言数据相关性分析(相关系数和p值)及可视化

    千次阅读 多人点赞 2021-03-07 21:25:15
    此篇为转载R语言学习笔记之相关性矩阵分析及其可视化 数据相关性分析及可视化1. 新建数据集2. Hmisc3. 可视化相关系数矩阵4. chart.Correlation()来自于包PerformanceAnalytics5. 此篇为笔记转载如有侵权联系删除 1....

    此篇为转载R语言学习笔记之相关性矩阵分析及其可视化

    1. 新建数据集

    data(mtcars)#加载数据集
    mydata <- mtcars[, c(1,3,4,5,6,7)]
    head(mydata, 6)#查看数据前6行
    
    

    在这里插入图片描述

    2. Hmisc

    包里的rcorr()函数能够同时给出相关系数以及显著性水平p-value。 rcorr(x, type = c(“pearson”,“spearman”))

    library(Hmisc)#加载包
    res2 <- rcorr(as.matrix(mydata))
    res2
    
    

    在这里插入图片描述

    #可以用res2$r、res2$P来提取相关系数以及显著性p-value
    res2$r
    

    在这里插入图片描述

    res2$P
    在这里插入图片描述如何将相关系数以及显著性水平p-value整合进一个矩阵内,可以自定义一个函数 <font color=red>flattenCorrMatrix </font>。

    # ++++++++++++++++++++++++++++
    # flattenCorrMatrix
    # ++++++++++++++++++++++++++++
    # cormat : matrix of the correlation coefficients
    # pmat : matrix of the correlation p-values
    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] )
    }
    #举个栗子
    res3 <- rcorr(as.matrix(mtcars[,1:7]))
    flattenCorrMatrix(res3$r, res3$P)
    
    

    在这里插入图片描述

    3. 可视化相关系数矩阵

    corrplot() function to plot a correlogram
    
    这个函数来自于包corrplot()
    ,通过颜色深浅来显著相关程度。参数主要有:
    
        type: “upper”, “lower”, “full”,显示上三角还是下三角还是全部
        order:用什么方法,这里是hclust
        tl.col (for text label color) and tl.srt (for text label string rotation) :控制文本颜色以及旋转角度
        
    
    library(corrplot)#先加载包
    corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45)
    
    

    在这里插入图片描述
    也可以结合显著性绘制

    # Insignificant correlations are leaved blank
    corrplot(res2$r, type="upper", order="hclust", p.mat = res2$P, sig.level = 0.01, insig = "blank")
    
    

    在这里插入图片描述

    4. chart.Correlation()来自于包PerformanceAnalytics

    library(PerformanceAnalytics)#加载包
    chart.Correlation(mydata, histogram=TRUE, pch=19)
    
    

    在这里插入图片描述

    5. 此篇为笔记转载如有侵权联系删除

    作者:taoyan
    链接:https://www.jianshu.com/p/ef9e6a39a145
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    

    看完如果对你有帮助,感谢点赞支持!

    如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

    在这里插入图片描述

    展开全文
  • R 相关性分析

    2019-12-11 14:50:02
    R 相关性分析 1. 相关性矩阵计算: 加载mtcars数据 > setwd("E:\\Rwork") > data("mtcars") > head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110...
  • 相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度 相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析,即两个变量之间是否有联系 相关性...
  • 0.7909486 看一下所有变量的相关性,还有用corrplot函数画出相关性的表 corr(mtcars)#求所有变量的相关性 library(corrplot)#加载所需要的包 corrplot(corr) corrplot函数可以画出其他好看的相关关系图 corrplot...
  • R相关性分析,里面包括数据读取说明和教程等
  • 一、相关分析和回归分析变量间不存在完全的确定性,不能用精确的数学公式来表示——相关关系相关变量间的关系——平行关系和依存关系相关分析——研究平行关系,不区分自变量和因变量回归分析——研究依存关系,区分...
  • R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 目录 R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 #安装ggcorrplot包 #导入数据并计算相关性系数 # 计算相关性的P...
  • R进行相关性分析

    千次阅读 2020-03-22 21:38:47
    一、相关性矩阵计算: [1] 加载数据:  data = read.csv(“231-6057_2016-04-05-ZX_WD_2.csv”,header=FALSE) 说明:csv格式的数据,header=FALSE 表示没有标题,即数据从第一行开始。 [2] 计算相关性矩阵(可以...
  • 使用R进行相关性分析

    千次阅读 2016-09-09 16:25:00
    基于R进行相关性分析 一、相关性矩阵计算: [1] 加载数据:  >data = read.csv("231-6057_2016-04-05-ZX_WD_2.csv",header=FALSE) 说明:csv格式的数据,header=FALSE 表示没有标题,即数据从第一行开始。 ...
  • 1.相关性分析        相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行...
  • 基于R进行相关性分析

    万次阅读 2017-11-23 09:32:01
    一、相关性矩阵计算: [1] 加载数据:  >data = read.csv("231-6057_2016-04-05-ZX_WD_2.csv",header=FALSE) 说明:csv格式的数据,header=FALSE 表示没有标题,即数据从第一行开始。  [2] 查看导入数据的前...
  • R_Studio(学生成绩)数据相关性分析

    千次阅读 2018-09-15 20:21:00
    对“Gary.csv”中的成绩数据进行统计量分析 ...相关性分析  当值r>1时,正相关,一个变量增加或减少时,另一个变量也相应增加或减少  当值r=1时,无相关,说明两个变量相互独立,有一个变量值无...
  • R多变量相关性分析及相关性可视化 目录 R多变量相关性分析及相关性可视化 多变量相关性计算 所有变量之间的相关性 计算数值变量的相关性 相关系数可视化 量化两个变量之间关系的一种方法是使用皮尔逊...
  • 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...
  • 线性相关性分析: x=c(171,175,159,155,152,158,154,164,168,166,159,164) y=c(57,64,41,38,35,44,41,51,57,49,47,46) plot(x,y) #相关系数计算 cor(x,y) #建立假设检验:H0:ρ=0,H1:ρ≠0,α=0.05(即原假设为不相关)...
  • 本资源适用于对arcpy有所了解,针对需要对遥感栅格数据做相关分析和偏相关的高校学生
  • 相关性分析是考察两个变量之间线性关系的一种统计分析方法。更精确地说,当一个变量发生变化时,另一个变量如何变化,此时就需要通过计算相关系数来做深入的定量考察。P值是针对原假设H0:假设两变量无线性相关而言...
  • 1. 离体 看微信群中有人聊天,浏览了一下,不同专业的内容比较分散,很多读都读不通顺,隔行如隔山,...R语言数据分析指南,https://mp.weixin.qq.com/s/yQqmETSQfPoNCw-osrOeGQ 生信技能树:https://mp.weixin.qq.com
  • 用于序列间的相关性矩阵计算,其中用到的其他语言包需自行下载,主题可自行调整

空空如也

空空如也

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

r相关性分析