R语言相关性分析及步骤

记录一下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)       //打印相关性图形

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

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言是一种广泛应用于统计计算、数据可视化以及数据分析的开源编程语言。进行相关性分析并制作图形图表,在R中是一个常见的任务,特别是在探索性数据分析(EDA)阶段,用于理解变量之间的关系。 ### R语言进行相关性分析的基本步骤: #### 1. 数据加载与准备 首先,需要将数据导入到R环境中。这通常通过`read.csv()`、`read.table()`或其他读取函数完成,取决于数据文件的格式。接着,检查数据集以了解其结构,包括观察的数量和每个变量的类型。 ```r # 加载数据 data <- read.csv("path_to_your_data.csv") # 检查数据框架的前几行和结构 head(data) str(data) ``` #### 2. 计算相关系数矩阵 使用`cor()`函数可以计算所有数值型列之间(如数值型变量与数值型变量)的相关系数。结果会是一个矩阵,显示了每对变量的相关系数。 ```r # 计算相关系数矩阵 cor_matrix <- cor(data[, sapply(data, is.numeric)]) # 查看相关系数矩阵 print(cor_matrix) ``` #### 3. 可视化相关性 最常用的可视化工具之一是散点图矩阵(pairs()),它能够直观地展示数据集中所有数值型变量之间的两两相关性。另外,热力图也是一个强大的视觉工具,用于表示相关性矩阵的颜色编码版本。 ```r # 散点图矩阵(适用于小数据集) pairs(data[, sapply(data, is.numeric)], pch = 19) # 热力图 library(ggplot2) library(reshape2) # 或者使用tidyverse包中的gather() # 将cor_matrix转换为长格式以便绘图 corr_long <- melt(cor_matrix) # 使用ggplot绘制热力图 ggplot(corr_long, aes(x=Var1, y=reorder(Var2, value), fill=value)) + geom_tile() + scale_fill_gradient2(low="blue", mid="white", high="red", midpoint=0) + theme_minimal() ``` ### 相关问题: 1. **如何解释相关性分析的结果**? - 解释相关系数的大小及其正负值,可以帮助理解两个变量间的关系强度和方向。 2. **在进行相关性分析之前需要注意哪些事项**? - 需要检查数据是否存在缺失值,并处理异常值或极端值;同时考虑数据的分布特性,如是否满足正态分布。 3. **有哪些高级的数据可视化库可用于R进行更复杂的相关性分析**? - `ggplot2`, `lattice`, 和 `plotly` 提供了丰富的定制选项和交互式功能,适合创建更复杂和美观的可视化图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值