在实验2.3.1中,我们对mtcars数据集(R 自带数据集)进行了展示和描述,以下对该数据集进行可视化.(1)汽车每加仑英里数直方图>hist(mtcars$mpg,breaks=10)结果如图2-1所示.(2)按汽缸数划分的各车型车重的核密度图>par(lwd=2)>library(sm)>cyl.f<-factor(mtcars$cyl,levels=c(4,6,8),labels=c("4......
2023-11-18
在实验2.3.2中对iris数据集(R 自带数据集)进行了描述和展示,以下对iris数据集进行可视化.
(1)花萼长度、花萼宽度、花瓣长度、花瓣宽度的小提琴图
小提琴图(violin plot)是箱线图(box plot)的变种,因为形状酷似小提琴而得名.小提琴图是将箱线图与核密度图结合在一起,它在箱线图上以镜像方式叠加上核密度图.
绘制小提琴图,可以使用vioplot包中的“vioplot( )”函数,但在第一次使用之前请先安装vioplot包.“vioplot( )”函数的调用格式为:vioplot(x1,x2,…,names,col),其中:x1,x2,…表示要绘制的一个或多个数值向量(将为每个向量绘制一幅小提琴图),names是小提琴图中标签的字符向量,col是一个为每幅小提琴图指定颜色的向量.
>install.packages("vioplot")
>library(vioplot)
>count<-table(iris$Species)
>par(mfrow=c(2,2))
>x1<-iris$Sepal.Length[iris$Species=="setosa"]
>x2<-iris$Sepal.Length[iris$Species=="versicolor"]
>x3<-iris$Sepal.Length[iris$Species=="virginica"]
>vioplot(x1,x2,x3,col="gold",names=c("setosa","versicolor","virginica"))
>title("Sepal.Length",xlab="Species",ylab="Length")
>vioplot(x1,x2,x3,col="gold",names=c("setosa","versicolor","virginica"))
>title("Sepal.Width",xlab="Species",ylab="Width")
>vioplot(x1,x2,x3,col="gold",names=c("setosa","versicolor","virginica"))
>title("Petal.Length",xlab="Species",ylab="Length")
>vioplot(x1,x2,x3,col="gold",names=c("setosa","versicolor","virginica"))
>title("Petal.Width",xlab="Species",ylab="Width")
结果如图2-6所示.
图2-6 花萼长度、花萼宽度、花瓣长度、花瓣宽度的小提琴图
在图2-6中,白点是中位数,黑色盒子的范围是下4分位数(25%分位数)到上4分位数(75%分位数),细黑线表示虚线,外部形状为核密度估计.Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,分别表示花萼的长度,花萼的宽度,花瓣的长度,花瓣的宽度.
>oldpar<-par(mfcol=c(2,2))
>titles<-names(iris)[1:4]
>for(i in 1:4){
+hist(x=iris[,i],main=paste("Histogram of",titles[i]),xlab=titles[i])}
>par(oldpar)
结果如图2-7所示.
图2-7 鸢尾花四个变量的频数直方图
从图2-7可以看出,除了花萼的宽度(Sepal.Width)外,其他几个变量的频数直方图都是有偏的,这对了解整体特征是很有帮助的.
(3)带核密度的四个变量的频率直方图
>oldpar<-par(mfcol=c(2,2))
>titles<-names(iris)[1:4]
>for(i in 1:4){
+hist(x=iris[,i],main=paste("Histogram of",titles[i]),
+xlab=titles[i],probability=TRUE)
+lines(density(x=iris[,i]))
+rug(jit ter(x=iris[,i]))
+}
>par(oldpar)
结果如图2-8所示.
图2-8 鸢尾花带核密度的四个变量的频率直方图
从图2-8可以看出,花萼的宽度(Sepal.Width)和正态分布比较接近.
(4)花萼宽度的QQ 图
为了确定花萼的宽度是否满足正态分布,这里用QQ 图来检验.
>attach(Sepal.Width)
>qqnorm(Sepal.Width);qqline(Sepal.Width)
结果如图2-9所示.
图2-9 花萼宽度的QQ 图
从图2-9可以看出,除了末尾的观测值,大体上还是符合正态分布的.
(5)三种鸢尾花的花萼宽度箱线图、花萼长度箱线图
以下用ggplot2包中的函数“ggplot( )”来画箱线图,但第一次使用前请先安装ggplot2包.(www.chuimin.cn)
>install.packages("ggplot2")
>library(ggplot2)
>p<-ggplot(data=iris,mapping=aes(x=Species,y=Sepal.Width,fill=Spe-cies))
>p+geom_boxplot( )
结果如图2-10所示.
图2-10 三种鸢尾花的花萼宽度箱线图
从图2-10可以看出,setosa类型的鸢尾花和其他种类的鸢尾花的差别比较明显,而versicolor和virginica这两类虽有差别但并不是很明显.
同样,可以绘制三种鸢尾花的花萼长度箱线图.
>p<-ggplot(data=iris,mapping=aes(x=Species,y=Sepal.Length,fill=Species))
>p+geom_boxplot( )
结果如图2-11所示.
从图2-11可以看出,三种鸢尾花的花萼长度有比较明显的差别.
类似地,可以绘制三种鸢尾花的花瓣宽度箱线图、花瓣长度箱线图,这里从略.
图2-11 三种鸢尾花的花萼长度箱线图
(6)三种鸢尾花的花萼长度和宽度的散点图(加平滑曲线)
以下通过散点图来进一步了解三种不同鸢尾花的两个变量之间的关系,加平滑曲线的散点图还可以更加清晰地看出两个变量之间的变化趋势.
以下分别绘制三种鸢尾花的花萼长度和宽度的散点图、花瓣长度和宽度的散点图.
>p<-ggplot(data=iris,mapping=aes(x=Sepal.Length,y=Sepal.Width))
>p<-p+geom_point( )+facet_wrap(facets=~Species)
>p+geom_smooth( )
结果如图2-12所示.
>p<-ggplot(data=iris,mapping=aes(x=Petal.Length,y=Petal.Width))
>p<-p+geom_point( )+facet_wrap(facets=~Species)
>p+geom_smooth( )
图2-12 三种鸢尾花的花萼长度和宽度的散点图
结果如图2-13所示.
图2-13 三种鸢尾花的花瓣长度和宽度的散点图
(7)鸢尾花的三维散点图
图2-12和图2-13分别给出了鸢尾花的二维散点图,以下绘制鸢尾花Sepal.Width(花萼宽度),Petal.Length(花瓣长度),Petal.Width(花瓣宽度)的三维散点图.
绘制三维散点图,可以使用scatterplot3d包中的“scatterplot3d( )”函数,但在第一次使用之前请先安装scatterplot3d包.“scatterplot3d( )”函数的调用格式为:scatterplot3d(x,y,z,…)。其中,x,y,z都是数值向量,且x被绘制在水平轴上,y被绘制在竖直轴上,z被绘制在水透视上.
>install.packages("scatterplot3d")
>library(scatterplot3d)
>scatterplot3d(iris[2:4])
结果如图2-14所示.
图2-14 鸢尾花的三维散点图
(8)三种鸢尾花变量之间的相关性——相关系数图
在实验2.3.2中曾对三种鸢尾花变量之间的相关性进行了数字化展示,这里将用corrplot包中的函数“corrplot( )”来进行可视化,但第一次使用前请先安装corrplot包.
结果如图2-15所示.
图2-15 变量之间的相关系数图
在图2-15中,圆圈的大小表示相关性的大小.
从图2-15的可视化展示可以得到与前面数字化展示类似的结果,但可视化展示比数字化展示更直观(只需在相关系数图中看一下圆圈的大小).
(9)四个变量的散布图矩阵
>names(iris)
>pairs(iris[-5])
结果如图2-16所示.
图2-16 四个变量的散布图矩阵
从图2-16可以得出,花瓣的长度与花瓣的宽度呈明显的正相关;而花萼的长度与花萼的宽度却是散乱状态,可以得出二者的相关性不强.
有关应用多元统计分析:基于R的实验的文章
在实验2.3.1中,我们对mtcars数据集(R 自带数据集)进行了展示和描述,以下对该数据集进行可视化.(1)汽车每加仑英里数直方图>hist(mtcars$mpg,breaks=10)结果如图2-1所示.(2)按汽缸数划分的各车型车重的核密度图>par(lwd=2)>library(sm)>cyl.f<-factor(mtcars$cyl,levels=c(4,6,8),labels=c("4......
2023-11-18
iris数据集是R 自带的数据集,以下对该数据集进行描述和展示.(1)展示iris数据集的前几行>head(iris)结果如下:其中Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,Species,分别表示(鸢尾花)花萼(Sepal)的长度,花萼的宽度,花瓣(Petal)的长度,花瓣的宽度以及每个观测值来自哪一种类.(2)对鸢尾花数据集的数据进行描......
2023-11-18
Wisconsin Breast Cancer数据集有699条记录,每条记录都是记录一位胸部有肿瘤的病人的特征数据。可以从中随机选择444条良性记录和39条恶性记录组成一数据集。文献[107]描述的是基于聚类的且基于密度局部特异数据挖掘方法—FindCBLOF,在Wisconsin Breast Cancer Data上的实验结果显示了其挖掘特异数据的能力在同类算法中是优越的。结果再次表明Cpecu Find挖掘特异数据的能力略优于pecu Find。表3.4Wisconsin Breast Cancer数据集上的实验结果比较......
2023-06-16
在实验2.3.1中,我们对mtcars数据集进行了展示和描述.在实验2.3.3中,我们对mtcars数据集进行了可视化.现在我们对该数据集中的变量进行回归分析.(1)不考虑变量交互项对该数据集,如果把mpg(汽车每加仑公里数)作为因变量,自变量为hp(马力)和wt(汽车重量)进行回归.>fit<-lm(mpg~hp+wt,data=mtcars)>summary(fit)结果如下:得到的回归方程为......
2023-11-18
在实验2.3.2中曾对iris数据集进行描述和展示,在实验2.3.4中曾对iris数据集进行可视化.以下将对iris数据集进行进行聚类分析.根据实验2.3.4,我们只知道数据集内有三个品种鸢尾花而不知道每朵花的真正分类,只能凭借花萼及花瓣的长度和宽度分类.以下对鸢尾花iris数据集进行聚类分析,代码如下:>data(iris);attach(iris)>iris.hc1<-hclust(dist(......
2023-11-18
以下对smoke数据集进行对应分析.(1)首先查看smoke数据集的信息>library(ca)>data("smoke")>smoke结果如下:这个数据集来自Greenacre(1984),被应用于多个统计软件作为对应分析的说明案例数据.它的内容是一个5行(阶层:SM,JM,SE,JE和SC)4列(吸烟习惯:none,light,medium 和heavy)的列联表,给出了一个虚构的公司内各阶层......
2023-11-18
,n).记则其中,1p=(1,1,…,pn·)表示对角线元素为p1·,p2·,…,pn· 的对角矩阵.因此,经过变换后所得到的新数据矩阵B,可以看成是由对应矩阵P 经过中心化和标准化后得到的矩阵.设用于检验行与列是否不相关的χ2 统计量为其中,表示第(i,j)单元在检验行与列两个属性变量否不相关时对总χ2 统计量的贡献,有其中,χ2==T[tr]=T[tr]=T[tr],tr表示方阵SQ 的迹.......
2023-11-18
ability.cov数据集是R 软件自带的数据集,以下对该数据集进行因子分析.(1)查看ability.cov数据集中的信息ability.cov数据集提供了Ability and Intelligence Tests(能力和智力测试)中,112个人参加的六个测试指标general(普通),picture(画图),blocks(积木),maze(迷津),reading(阅读),vocab(词汇)......
2023-11-18
相关推荐