柱状图的主要做用是以水平条或垂直条的方式显示Categorical变量的分布(频数)。R提供了barplot() 函数来支持柱状图的建立,其最简单的形式以下:barplot(height)。其中height是向量或矩阵,若是是向量的话显示如左,矩阵则会描绘一个堆积柱状图(beside=FALSE)或组柱状图(beside=TRUE):html
【提示】若是Categorical变量是factor或有序factor,那么直接用plot函数产生跟barplot同样的效果ide
下面的代码建立了一个比较全的柱状图:函数
barplot (m, main="Sales byRegion",col=c("red","green","grey","blue"),xlab="region",ylab="Sales")spa
spine()函数产生相似于×××S中百分百堆积柱状图:3d
除了柱状图/条形图外,饼图是另一种常常用来刻画Categorical类型变量的分布的图形。虽然柱状图比较流行可是不少统计学家包括本书的做者都不推荐使用饼图,而是推荐使用柱状图或点图,由于对于人来讲判断长度比判断面积更准确容易。饼图使用下面的函数建立:orm
pie(x, labels)htm
x是一个非负的数值向量来指示饼图每一个切片的大小,lables是一个字符向量指示每一个切片的标签。对象
饼图有个问题,人们很难比较饼图中不一样的切片之间的大小,除非每一个切片上都有数值标签,因此有了下面的扇图:blog
直方图用来显示连续性变量的分布状况,它将连续性的数据在x轴上切分红一段一段的小格子,并在Y轴上为每一个小格子显示频率。R使用下面的函数建立直方图:排序
hist(x,freq=TRUE/FALSE, breaks=value, col=”red”, xlab=”annotation in x axis”,main=”title of the hist”)
其中x是一个连续性的数值向量,若是freq为TRUE表示基于频数建立的直方图,不然表示基于频率建立直方图;breaks会指示直方图会在X轴上建立几个小盒子:
另外在执行完hist函数描绘了一个直方图以后,咱们能够再调用其余绘图函数(好比lines)来将一条线加在直方图上,如上有图所示即将数据集的核密度估计(KDE)描绘了出来:
核密度估计是一种评估连续性随机变量的的几率密度函数的有效方法。咱们前面已经看过使用直方图的形式表述一个连续性随机变量的几率密度函数,核密度估计以一种更平滑的方式来描述几率密度。其函数形式为
density(x)
下图是使用plot(density(mtcars$mpg))来展现mtcars中mpg变量的核密度估计。本例子直接用plot来描画,plot会建立一个新的图形,若是是要往已经存在的图形上附加的话要使用lines()函数:
核密度估计另外一个重要的做用是能够在不一样的分组间比较某变量的几率分布,sm包的sm.density.compare()函数提供了这种功能。下面的函数及图形就是以cyl分组查看mpg的几率密度函数:
sm.density.compare(mpg, cyl, xlab="Miles PerGallon")
箱图经过图形化某个连续性变量的5个特征量(最小值、第一四分位、中位数、第三四分位和最大值)来描述该变量的分布,初次以外它还有可能显示离群点(在正负1.5倍IQR以外的数)。
例如boxplot(mtcars$mpg)会显示下面的箱图。咱们能够使用boxplot.stats(mtcars$mpg)来打印5个特征量的值。
正如咱们在核密度图中看到的分组比较,使用箱图在不一样组之间作比较。其函数形式为:boxplot(formula,data=dataframe),其中data指定箱图所基于的数据帧对象,formula是形如y~A的公式,y指箱图所描述的变量,A是指基于该列(或多列A*B)分组变量y来作箱图。下图以cyl分组mpg作箱图:boxplot(mpg~cyl,data=mtcars)。从中咱们能够看到6缸的车的mpg数据更对称一些:
http://lectures.molgen.mpg.de/Pairwise/DotPlots/index.html
点图提供了一种方式在一个简单的水平轴上描画大量的有标签的数值,R提供了dotchart()函数来实现这种能力,其最简单的调用方式是:
dotchart(x, labels=)
其中x是数值向量,labels是一个字符向量指示了每一个数值的标签。下图是咱们使用dotchart(mpg,labels=row.names(mtcars),cex=0.7)所建立的点图:
除了上面简单的形式意外,点图更有意思的一种表现形式是,咱们能够首先排序而后使用groups选项指示各个点以某个因子变量分组,以下图所示: