R语言数据可视化探索

2025-10-06 17:17:03

1、获取需要研究的数据集。这里从spss中读取stu_data的数据。

library(foreign) #加载程序包

stu_data=read.spss(file="stu_data.sav",to.data.frame=TRUE) 

head(stu_data)

str(stu_data) #查看变量属性

该数据主要有group、Math、English、Chinese、Score几个变量

R语言数据可视化探索

2、绘制概率密度直方图。

hist(stu_data$Math,freq=FALSE,labels=TRUE,main="Histogram of Density stu_data$Math")#绘制直方图,但freq=TRUE时绘制的是频数直方图

lines(density(stu_data$Math))#添加概率密度曲线

str(hist(stu_data$Math,freq=FALSE,labels=TRUE,main="Histogram of Density stu_data$Math"))#获取直方图的输出值

从图中可以看出Math被分为8个分组,变量值主要集中在80-90之间。

R语言数据可视化探索

R语言数据可视化探索

3、绘制累计分布曲线。

Ecdf(stu_data$Math,lty=2,group=stu_data$group,col=2:3,xlab="Math",main="Cumulative Distribution of Math by group")  #按group分类绘制图形

Ecdf(stu_data$Math,add=TRUE)  #添加总体曲线

R语言数据可视化探索

4、绘制数值型变量的箱线图。

boxplot(stu_data[,3:6],main=" Boxplot of stu_data")#绘制各数值变量的箱线图

从结果中可以看出,Math变量存在一个异常低值。

R语言数据可视化探索

5、绘制分类变量条形图。

stu_data250=stu_data[stu_data$Score>=250,]

tab_data250=table(stu_data250$group)#统计各个班级score在250分以上的人数

barplot(tab_data250,main="Score>=250 ") #绘制条形图

从结果中可以看出,class1的优生要多一点。

R语言数据可视化探索

6、绘制点阵图。

dotchart(tab_data250,main="Score>=250 (dotplot )")

R语言数据可视化探索

7、绘制饼图。

percent=round(tab_data250/sum(tab_data250*100),2)#计算百分比

label=paste(paste(c("class1","class2"),":"),percent,"%",sep="")

pie(percent,labels=label,main="Pie Chart of Excellent students",col=c("lightgray","lightblue")) #绘制百分比饼图

R语言数据可视化探索

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢