用R语言实现的图形有哪些
admin
2023-02-16 08:40:04
0

柱状图- Bar Plot

柱状图的主要作用是以水平条或垂直条的方式显示Categorical变量的分布(频数)。R提供了barplot() 函数来支持柱状图的创建,其最简单的形式如下:barplot(height)。其中height是向量或矩阵,如果是向量的话显示如左,矩阵则会描绘一个堆积柱状图(beside=FALSE)或组柱状图(beside=TRUE):

用R语言实现的图形有哪些

【提示】如果Categorical变量是factor或有序factor,那么直接用plot函数产生跟barplot一样的效果

下面的代码创建了一个比较全的柱状图:

barplot (m, main="Sales byRegion",col=c("red","green","grey","blue"),xlab="region",ylab="Sales")

用R语言实现的图形有哪些

spine()函数产生类似于×××S中百分百堆积柱状图

用R语言实现的图形有哪些

饼图

除了柱状图/条形图外,饼图是另外一种经常用来刻画Categorical类型变量的分布的图形。虽然柱状图比较流行但是很多统计学家包括本书的作者都不推荐使用饼图,而是推荐使用柱状图或点图,因为对于人来说判断长度比判断面积更准确容易。饼图使用下面的函数创建:

pie(x, labels)

x是一个非负的数值向量来指示饼图每个切片的大小,lables是一个字符向量指示每个切片的标签。

饼图有个问题,人们很难比较饼图中不同的切片之间的大小,除非每个切片上都有数值标签,所以有了下面的扇图:

用R语言实现的图形有哪些

直方图

直方图用来显示连续性变量的分布情况,它将连续性的数据在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轴上创建几个小盒子:

用R语言实现的图形有哪些

另外在执行完hist函数描绘了一个直方图之后,我们可以再调用其他绘图函数(比如lines)来将一条线加在直方图上,如上有图所示即将数据集的核密度估计(KDE)描绘了出来:

核密度图

核密度估计是一种评估连续性随机变量的的概率密度函数的有效方法。我们前面已经看过使用直方图的形式表述一个连续性随机变量的概率密度函数,核密度估计以一种更平滑的方式来描述概率密度。其函数形式为

density(x)

下图是使用plot(density(mtcars$mpg))来展示mtcars中mpg变量的核密度估计。本例子直接用plot来描画,plot会创建一个新的图形,如果是要往已经存在的图形上附加的话要使用lines()函数:

用R语言实现的图形有哪些

核密度估计另一个重要的作用是可以在不同的分组间比较某变量的概率分布,sm包的sm.density.compare()函数提供了这种功能。下面的函数及图形就是以cyl分组查看mpg的概率密度函数:

sm.density.compare(mpg, cyl, xlab="Miles PerGallon")

用R语言实现的图形有哪些

Box画图

箱图通过图形化某个连续性变量的5个特征量(最小值、第一四分位、中位数、第三四分位和最大值)来描述该变量的分布,初次之外它还有可能显示离群点(在正负1.5倍IQR之外的数)。

例如boxplot(mtcars$mpg)会显示下面的箱图。我们可以使用boxplot.stats(mtcars$mpg)来打印5个特征量的值。

用R语言实现的图形有哪些

正如我们在核密度图中看到的分组比较,使用箱图在不同组之间做比较。其函数形式为:boxplot(formula,data=dataframe),其中data指定箱图所基于的数据帧对象,formula是形如y~A的公式,y指箱图所描述的变量,A是指基于该列(或多列A*B)分组变量y来做箱图。下图以cyl分组mpg做箱图:boxplot(mpg~cyl,data=mtcars)。从中我们可以看到6缸的车的mpg数据更对称一些:

用R语言实现的图形有哪些

点图

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)所创建的点图:

用R语言实现的图形有哪些

除了上面简单的形式意外,点图更有意思的一种表现形式是,我们可以首先排序然后使用groups选项指示各个点以某个因子变量分组,如下图所示:

用R语言实现的图形有哪些 

相关内容

热门资讯

廖杰远:三大智能体协同闭环,A... 中国日报网7月24日电 7月22日,在2026年世界互联网大会数字丝路发展论坛数智健康分论坛上,微医...
AI时代构筑超级底座 维谛技术... 文/本报记者 当前,人工智能产业竞争持续向产业链上游延伸,算力竞争早已不再局限于计算芯片性能比拼。具...
刚签核协议不到24小时,美国突... 美国东部时间7月22日下午,美国宣布与沙特阿拉伯签署了一项民用核能协议。据美国有线电视新闻网(CNN...
中国信通院牵头,数据编织国际标... IT之家 7 月 24 日消息,中国信通院今日发文称,国际电信联盟第 21 研究组(ITU-T SG...
国内首颗商业空间碎片监测卫星发... 【国内首颗商业空间碎片监测卫星发射成功】《科创板日报》24日讯,7月24日上午,中科宇航力箭一号运载...
邓煜,诗人,数学家,老二次元 来源 视觉中国菲尔兹奖的通知邮件抵达时,普林斯顿大学数学博士、芝加哥大学数学系教授邓煜正在看一本恋爱...
安全生产许可证状态不是“有效”... 工程公司的安全生产许可证在官方系统显示为“其他”状态,有一栏则显示“整改”,却成为高标准农田项目的第...
深化产教融合 推进数智育人 哈... 7月23日,由阿里国际人工智能人才孵化中心(以下简称“阿里国际AITIC”)主办的“智启未来·数智赋...
中国工程院举办学习陈立泉、贲德... 北京7月24日电 (记者 孙自法)中国工程院7月24日在北京举办学习陈立泉、贲德院士科学家精神座谈会...
从成都看低空经济,专访杨军:万... 电子科技大学教授、深思实验室主任杨军接受封面新闻记者专访 封面新闻记者 王一理 摄影 陈光旭 近年来...