用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语言实现的图形有哪些 

相关内容

热门资讯

美官员:美商船穿越霍尔木兹海峡... 当地时间5月5日,央视记者获悉,两艘搭载美军安全队员的美国商船在通过霍尔木兹海峡期间曾遭伊朗袭击。美...
日本参议员:对俄制裁损害日本国... 正在俄罗斯访问的日本国会参议员铃木宗男5月5日对媒体表示,日本对俄制裁同样损害了日本国家利益。铃木说...
美国务卿称美国正推进对伊朗“极... △美国国务卿鲁比奥(资料图)当地时间5月5日,美国国务卿鲁比奥在媒体简报会上称,美军正在霍尔木兹海峡...
伊朗外交部:敦促美方在外交问题... △伊朗外交部发言人巴加埃(资料图)据伊朗方面5月5日消息,伊朗外交部发言人巴加埃就当前伊美谈判进程表...
就在明晚,“极大雨”要来了! 据新华社消息,拥有哈雷彗星“血统”的宝瓶座η流星雨将于5月6日迎来极大,流星雨爱好者可在6日、7日夜...
原创 O... OPPO新机继续丰富,前有OPPO Find X9 Ultra、旗舰平板、小屏幕平板等,现有OPPO...
馆校合作丨南充科技馆走进仪陇县... 馆校合作 南充科技馆走进 NCSTM 仪陇县实验学校 天府科普研学游 4月29日上午,南充科技馆科普...
我国本土发现的首块月球陨石有重... 我国本土发现的首块月球陨石揭示了月球两次关键地质事件,并发现一种月球新矿物。 2026年世界地球日,...
马斯克的GPU也在摸鱼?狂囤几... 新智元报道 编辑:元宇 【新智元导读】马斯克囤了几十万张卡,结果只跑了11%?据媒体报道,xAI的...
原创 特... 4月24日,白宫以总统人事办公室的名义,向美国国家科学委员会的22名在任委员群发了一封冷冰冰的电子邮...