R语言-变量间的相关性

#变量间的相关性
#连续变量间的相关性
library(dplyr)
data(birthwt,package = "MASS" )
data1 <-dplyr::select(birthwt,age,lwt,bwt,)
str(data1)
library(psych)
cov(data1)#计算协方差
cor(data1,method ="pearson")#计算pearson相关系数
corr.test(data1,method ="pearson")
corr.test(data1,method ="spearman")
corr.test(data1,method ="kendall")
print(corr.test(data1,method ="pearson"),short=FALSE)#相关系数置信区间
#偏相关(数值型变量)
install.packages("ggm")
library(ggm)
names(data1)
cov(data1)
pcor(c(2,3,1),cov(data1))
#偏相关系数显著性检验
r <- pcor(c(2,3,1),cov(data1))
nrow(data1)
pcor.test(r,q=1,n=189)

#分类变量间的相关性
library(vcd)
mytable <- table(Arthritis$Treatment,Arthritis$Improved)
mytable
assocstats(mytable)#Phi系数适用于二分类变量

#配对列联表
library(epiDisplay)
my.matrix <- matrix(c(11,2,12,33),nrow=2)
my.matrix
kap(my.matrix)#计算Kappa值

#散点图
pairs(data1,main = "Variable Pairs",
      col = "blue", pch = 16)#散点图
install.packages("car")
library(car)
scatterplotMatrix(data1, col = "red",   # 设置点的颜色为蓝色
                  pch = 16,    # 设置点的形状为实心圆
                  main = "Scatterplot Matrix") # 设置主标题

#相关系数矩阵可视化
#可视化1
install.packages("corrplot")
library(corrplot)
cor(data1)
corrplot(cor(data1),method = "circle", type = "full", 
         tl.col = "red", tl.srt = 0)
corrplot(cor(data1),method = "ellipse", type = "lower", 
         tl.col = "black", tl.srt = 45)#蓝色正相关,红色反之;面积大小颜色深浅代表相关程度强弱;

#可视化2
install.packages("corrgram")
library(corrgram)
corrgram(data1,
         upper.panel=panel.pie)#斜杠表示对应两个变量的相关方向,颜色越深相关程度越高
corrgram(birthwt, order=TRUE, lower.panel=panel.ellipse,
         upper.panel=panel.pts, 
         text.panel=panel.txt, diag.panel=panel.minmax,
         main="Car Milage Data")
corrgram(birthwt, order=TRUE, lower.panel=panel.shade,
         upper.panel=panel.pie,
         text.panel=panel.txt, main="Car Milage Data")

library(vcd) #用关联图或马赛克图展示分类变量之间的关系
mytable<-table(Arthritis$Treatment,Arthritis$Improved)
mytable
chisq.test(mytable)
assocplot(mytable)#展示二维列联表。
mosaicplot(mytable, main = "Mosaic Plot", 
           color = c("red", "blue"))#展示多维列联表数据

#同时展示数值型变量和分类变量的关联
install.packages("GGally")
library(ggplot2)
library(GGally)
data2<- dplyr::select(birthwt,age,lwt,race,smoke)
for (i in names(data2)[c(3:4)]){data2[,i] <- as.factor(data2[,i])}#定义分类变量
str(data2)
ggpairs(data2,title="ggpairs")

# 创建数据集
data3 <- iris[, 1:4] # 使用鸢尾花数据的前四列作为示例
data3

# 绘制默认散点图矩阵
ggpairs(data3)

# 绘制散点图矩阵,上三角显示相关系数,下三角显示低于0.3的相关系数,对角线显示直方图
ggpairs(data3, upper = list(continuous = "density"),#三维密度曲线
   lower = list(continuous = "points")) #散点图

ggpairs(data3,upper =list(continuous="cor"), # 相关性系数
lower = list(continuous="smooth"),#带回归线的散点图
diag = NULL ,# 不显示diag部分
xlab  = "X axis",
ylab = "Y axis",
axisLabels = "show")# 设置轴标签,“show"表示展示轴标签,
#"internal"展示在对角线(轴标签和分面标题都会展示在diag),"none"不展示轴标签。
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值