#####4 探索性数据分析#####
library(MASS)
data(Insurance)
#####4.2.1 变量概况#####
attributes(Insurance) #获取Insurance数据集的属性列表
str(Insurance) #查看Insurance数据集内部结构
summary(Insurance) #查看Insurance数据集的变量概况
#####4.2.2 变量详情#####
library(Hmisc)
describe(Insurance[ ,1:3]) #查看Insurance数据集的前3列变量的描述结果
#样本总个数(n),缺失样本数(missing),水平个数(unique),并列出每一水平的取值、频数、频率。
describe(Insurance[,4:5])
#####4.2.3 分布指标#####
library(timeDate)
#偏度,在[-1,1]区间中时,说明不存在明显的左偏或右偏情况,绝对值大于1,为正值时右偏,反之左偏。
skewness(Insurance[,4:5]) #计算Insurance数据集中后两列变量的偏度
#峰度,为0时,说明集散程度与正态分布相同;大于0表示该数据分布与正态分布比较为陡峭,为尖峰峰度;
#同理,峰度小于0 表示其分布与正态分布相比较为平坦,为平顶峰度。
kurtosis(Insurance[,4:5])
#有较为陡峭的峰部,说明数据很可能存在异常值
#####4.2.4 稀疏性#####
library(Matrix)
i=sample(1:10,10,replace=TRUE) #在1至10中有放回地随机选取10个数,作为数据集中非空元素的行号
j=sample(1:10,10,replace=TRUE) #在1至10中有放回地随机选取10个数,作为数据集中非空元素的行号
(A=sparseMatrix(i, j, x=1)) #对第i行j列的元素取值为1,其他位置为空,生成稀疏矩阵A
loca=which(A==1, arr.ind=TRUE) #取loca变量记录各非空元素位置
plot(loca,pch = 22) #对如上loca变量值绘制散点图
#通过将稀疏矩阵绘制成散点图,我们可以清晰地看出数据的稀疏程度和分布。
#####4.2.5 缺失值#####
library(mice)
#由于Insurance数据集不含有缺失值,因此,我们首先在数据集的64x5个取值中,随机选出10个,将其转变
#为缺失值NA,再使用md.pattern()函数来获取这10个缺失值的分布情况
for(i in 1:10){
row=sample(1:64,1)
col=sample(1:5,1)
Insurance[row,col]=NA
}
md.pattern(Insurance) #显示新数据集Insurance中缺失值分布情况
#1为无缺失,0为缺失
#####4.2.6 相关性#####
cor(Insurance$Holders,Insurance$Claims) #计算相关系数
library(rattle)
data(weather) #获取weather数据集
head(weather)
var=c(12:21) #设置所选12至21列变量的列号向量var
cor_matrix=cor(weather[var],use="pairwise") #对10个变量两两计算相关系数
cor_matrix #显示相关系数矩阵
library(ellipse)
plotcorr(cor_matrix,col=rep(c("white","black"),5)) #对如上数据矩阵绘制相关图
#两变量所对应的圆形越窄,表明相关性越高。向右倾斜表示正相关
plotcorr(cor_matrix,diag=T,type="lower",col=rep(c
4.探索性数据分析
最新推荐文章于 2023-11-29 09:21:13 发布
本文详细介绍了探索性数据分析(EDA)的重要性和应用,通过实例展示了如何利用统计图表和可视化工具揭示数据背后的隐藏模式和趋势。从数据预处理到特征工程,再到可视化技巧,逐一解析了在数据分析过程中每个步骤的关键点,帮助读者提升数据洞察力。
摘要由CSDN通过智能技术生成