R语言数据可视化探索
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几个变量

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之间。


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) #添加总体曲线

4、绘制数值型变量的箱线图。
boxplot(stu_data[,3:6],main=" Boxplot of stu_data")#绘制各数值变量的箱线图
从结果中可以看出,Math变量存在一个异常低值。

5、绘制分类变量条形图。
stu_data250=stu_data[stu_data$Score>=250,]
tab_data250=table(stu_data250$group)#统计各个班级score在250分以上的人数
barplot(tab_data250,main="Score>=250 ") #绘制条形图
从结果中可以看出,class1的优生要多一点。

6、绘制点阵图。
dotchart(tab_data250,main="Score>=250 (dotplot )")

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")) #绘制百分比饼图
