爱美容
当前位置: 首页 美容百科

r语言常规操作(R语言从入门到精通)

时间:2023-06-12 作者: 小编 阅读量: 2 栏目名: 美容百科

温馨提示1、本节内容重点内容较多,务必紧跟红色标记。图5:参数fig的实例参数fig的使用可以理解为给每一幅图形以坐标系的方式指定绘图区域。棘状图对堆砌条形图进行了重缩放,这样每个条形的高度均为1,每一段的高度即表示比例,可以通过vcd包中的函数spine()绘制。在图12中的密度曲线有时候会单独出现,这时候被称为核密度图。

原创 小浣熊 科研猫

是时候 关注 我们一波了

在上一次教程中,我们讲解了R语言绘图的诸多函数,想必看到自己做出的图形,肯定小有成就感吧。上期的最后,给大家预告了一部分本次教程的内容:图形的组合,除此之外,我们在讲讲基本图形的绘制(条形图、散点图、饼图、直方图等),赶紧开始battle起来吧

本篇教程,内容十分丰富,虽然是单篇,大家务必多多练习,可以充当一周的学习内容,静下心来慢慢吸收。

温馨提示

1、本节内容重点内容较多,

务必紧跟红色标记。

2、测试数据及代码

见文末客服小姐姐二维码。

图形的组合

图形的组合,顾名思义,就是将两张或者更多图形放在一起展示。在R中,一般使用函数 par() 或者 layout() 组合多幅图形。其中par()图形参数mfrow=c(nrows, ncols) 来创建按行填充的、行数为nrows、列数为ncols的图形矩阵。另外,可以使用 mfcol=c(nrows, ncols) 按列填充矩阵。

下面是两张函数 par() 中mfrow参数的实例。在函数par()和函数layout()的举例中,不可避免的使用到了散点图、条形图、箱线图等图形的绘制,这些内容也会在本次推文中提到,图形组合中的几个例子算是先给大家热热身。

图1:函数par(),参数mfrow的实例1

图2:函数par(),参数mfrow的实例2

参数mfcol的使用是类似的,就不重复举例了。

函数 layout() 的参数要更复杂一些,同时对图形布局的控制也更加精细。该函数通过layout(mat) 的形式实现图形的布局,其中 mat 是一个指定布局情况的矩阵。同时函数 layout() 中有 widths 和 heights 两个参数控制组合图形中单个图形的宽度和高度的比例。同样的,我们为大家提供了两个学习的例子。

图3:函数layout()的例子1

图4:函数layout()的例子2

如果在运行上面四幅图形的代码时出现了类似 Error in plot.new() : figure margins too large这样的错误,可以尝试将 Rstudio 中的“绘图区”放大一些,并不是我们的代码出错啦~~。

上面的几个例子虽然实现了图形的组合,但我们还需要更加精细的组合方法,函数 par() 中的参数fig 可以帮忙。下面是一个典型的例子。

图5:参数fig的实例

参数 fig 的使用可以理解为给每一幅图形以坐标系的方式指定绘图区域。将整个绘图区域理解为横坐标为 0 到 1、纵坐标为 0 到 1 的正方形区域,上图中散点图的绘图区为横坐标 0 到 0.8、纵坐标 0 到 0.8 的区域,上方的箱线图绘图区域为横坐标 0 到 0.8、纵坐标为 0.55 到 1 的区域。

这里区域的划分看上去好像和散点图重叠了,但实际效果并不是,因为每幅图形都有空白边界,同时区域的划分并不是一成不变的,需要在实际绘图中不断调整得到最美观简洁同时准确表达图形含义的效果

右边的箱线图的区域则为横坐标 0.65 到 1、纵坐标 0 到 0.8。相信大家在多次练习之后就可以用参数 fig 绘制出更加复杂美观的图形。

基本图形的绘制

在上面的几个例子中,我们已经接触到了散点图、条形图、箱线图的绘制,本次推文的剩余内容就是介绍这些基本图形的绘制。

基本图形主要包括了点图、条形图、箱线图、饼图、扇形图和核密度图等,这些图形的目的主要有两点:将数据的分布可视化展示、对数据进行跨组比较。下面就从条形图开始介绍基本图形的绘制。

条形图

条形图通过垂直的或水平的条形展示了类别型变量的分布(频数),在R中对应函数 barplot()。下面是几个简单的例子。

图6:简单条形图

图7:堆砌条形图和分组条形图

为了方便大家重复图形绘制过程,上面图形中展示的数据都是来自包vcd ,大家在运行代码前安装vcd包即可。其中图6中展示了简单条形图的绘制,图7中展示了堆砌条形图和分组条形图的绘制。图7中出现了图例与图形重叠的现象,大家可以回顾一下上一次推文中图例设置的内容,调整图例的大小和位置,就可以解决这个问题。(这个小问题就留给大家区解决了)

从上面这个问题可以看出,只有三个变量的情况下都不可避免的出现了图例和图形重叠的情况,更复杂的情况该怎么办?不用担心,条形图中的各种元素都是可以微调的,以图6中的第二幅图为例,调整图中文本的方向和大小使得图形更加简洁清晰。

图8:条形图的微调。

还有一种特殊但常见的条形图:棘状图。棘状图对堆砌条形图进行了重缩放,这样每个条形的高度均为1,每一段的高度即表示比例,可以通过vcd包中的函数spine()绘制。例子如下:

图9: 棘状图实例

饼图or扇形图

相比于条形图,饼图或者扇形图在R中不太受欢迎,因为我们对长度的比较总是比对面积的比较要更加敏感。即便如此,我们要为大家提供了一些饼图的实例。主要涉及函数 pie()、函数 pie3D()、函数 fan.plot()。

图10:饼图实例

图11:扇形图实例。

饼图中建议标注上每个变量的信息,否则分辨面积的大小不是一件容易的事情,特别是当差异很小的时候!相比之下,就不难理解为什么条形图更受欢迎了。

直方图

直方图和条形图很类似,但它描述的是连续型变量的分布。前面介绍图形组合的时候,我们已经接触了直方图的绘制,下面给大家一些更加细致的例子。

图12:直方图示例

第一幅图形就是最简单的直方图绘制,余下的三幅图都是在函数 hist() 中调整参数或者加上其他元素而绘制的图形,其中第三、四幅图形中加上了密度曲线(在后面会进一步介绍),这是很常见的处理方式。

在图12中的密度曲线有时候会单独出现,这时候被称为核密度图。绘制核密度图的方法在图12的代码中已经出现了 (plot(density(x)),下面是几个单独的例子。

图13:核密度图的示例

第一幅图形是最简单的核密度图,第二幅图形加上了一些微调。第三幅图形是三个密度曲线比较的图形,其中需要安装包sm。同时代码中用到了参数locator(使用这个参数之后,我们可以用鼠标选择图例的位置,避免了有时候无法处理图形和图例位置关系的尴尬)。

小提琴图

还有一种常见又美观的图形——箱线图(小提琴图是一种特殊的箱线图),其实我们在图形组合中也见过了,绘制方法为函数 boxplot()。小提琴图的绘制方法为vioplot()。最简单的箱线图的例子就不给大家重复了,下面是一幅展示了箱线图中各个元素含义的简图。

图14:箱线图含义解析

箱线图

箱线图的绘制是很灵活的,下面是几个实例。

图15:箱线图示例

第一幅图利用箱线图进行了跨组比较,第二幅图通过参数 notch 实现了凹槽箱线图的绘制,第三幅图的比较更复杂一些,但基本原理是类似的。

小提琴图

箱线图能很好的展示组间的差异,核密度图能很好的展示组内的分布,如果把这两种图形结合起来是不是听上去就很完美?小提琴图就是这样的一种图形,读过科研猫前面推文的同学应该对小提琴图的绘制还有印象,我们这里有更容易理解的代码(因为只有一行,一个函数 vioplot() 啊)。

图16:小提琴图示例

点图

最后我们用点图结束本次推文的所有内容,函数 dotchart() 可以绘制点图。

图17:点图的示例

在上图中,我们调整了函数 dotchart() 中的很多参数,可以看到简单的点图也可以展示出很多有用的信息,但是点图的实用性随着数据点的增多会急剧减小。

综合来说,图形的潜力是巨大的,我们下一次的推文还要进一步展示图形说明数据内在关系的能力。

最后,为了方便大家学习,本次推文中所有图形的数据都来自R自带或者R中函数包自带,图形及相关代码都可以通过客服小姐姐获得。

本期干货

·

!R语言图形day8图形绘制 !

关注“科研猫”公众号,联系客服

领取

科研猫公众号,国内外顶尖高校博士及PI联手打造的科研共享中心,涵盖生物信息、实验技能、统计绘图等内容的一体化平台,不断放送科研干货,现已推出《R语言入门》、《科研绘图》、《生物信息数据挖掘》、《机器学习》等多个系列,广受粉丝欢迎。

团队开发的Hiplot绘图系统也受到科研人员的极大赞赏,日点击率达到上万人次。

https://hiplot.com.cn

关注公众号后,

回复【hiplot】可获取注册激活码,免费成为hiplot会员,实现一键作图;

加客服微信可免费领取科研干货。

科研干货示例

    推荐阅读
  • 听觉的秘密(听觉世界里的潜规则)

    鸡尾酒会效应说起大脑的能力强,至今,大脑在处理声音方面的一个功能还在让所有科学家惊叹,这个功能的神奇机制至今也还是个谜。这种功能有个有趣的名字,叫做“鸡尾酒会效应”。动物也展现鸡尾酒会效应最近的研究发现,很多动物的听觉系统也具有这种鸡尾酒会效应的功能,例如鸟儿们经常群集一起,叽叽喳喳开大会,但它们往往只是回应自己伴侣的叫声,显然它们能够从嘈杂的叽喳声中分辨出伴侣的声音。

  • 淄博环保供热第一供热分公司供暖范围在哪?

    淄博环保供热第一供热分公司供暖范围在哪?供暖小常识之暖气不热的具体排气方法:每个暖气片上都有一个手动排气阀,用户可轻轻拧松手动排气阀,听到排气声立即停止扭动排气阀,若见有稳定水流流出可将排气阀轻轻拧紧。排过气后,若暖气片还是不热,应请专业人员查明原因,帮助解决问题,切不可盲目放水。

  • 窗帘是什么材质 高精密窗帘是什么材质

    透明类的丝质面料,手感柔软、纹路流畅,用做窗帘,既浪漫又高雅。丝质窗帘最大的特点也是最明显的缺点就是价格昂贵,难以清洗。古代太后或皇后临朝听政,殿上用竹帘遮隔,则称为垂帘听政。

  • 普惠性幼儿园能否增加收费项目(普惠性幼儿园覆盖率将超过80)

    普惠性幼儿园覆盖率将超过80日前,陕西省教育厅和陕西省发改委联合印发了《陕西省教育事业发展“十四五”规划》,其中明确提出要强化学前教育规划建设,将新增公办园300所,公办园占比和公办园在园幼儿占比保持50%以上,普惠性幼儿园覆盖。

  • 林清玄人生感言(承担是生命里最美的东西)

    更令人赞叹的是,那个煮面的老板还边与顾客聊着闲天。对于孩子突如其来的谈话,我感到莞尔,并且立即坦然承认,我一定输给卖面的人。他们不用言语,而以动作表达了对生命的承担。在古印度人传统的观念里,认为只要是两条河交会的地方一定是圣地,这是千年智慧累积所得到的结论。当然,在我们以神圣的心面对世界时,自己就有了承担,也就成为值得敬佩的人之一。事实上,所有的比较都是一种执著。

  • 白花蛇舌草的功效与作用(白花蛇舌草的功效与作用效)

    白花蛇舌草一年生小草本,生于潮湿的田边、沟边、路旁和草地。白花蛇舌草药材全体扭成团块,灰绿色至灰棕色。白花蛇舌草补充信息:炮制:取原药材除去杂质,抢水洗净,稍润,切段,干燥。白花蛇舌草适合人群:孕妇慎用白花蛇舌草的功效和作用白花蛇舌草味苦、微甘,性微寒;入肺、肝、胃经;具有清热利湿,解毒抗癌的功效;主治肺热喘咳,咽喉肿痛,湿热黄疸,热淋涩痛,水肿,痢疾肠炎,肠痈,痈肿疮疡,毒蛇咬伤,癌肿。

  • 苏州西站长途汽车站停运通知(苏州市区79班汽车客运班线停班)

    苏州汽车客运总站表示,将给因台风造成停班班次的旅客办理免费退票。昆山客运中心站正密切关注“利奇马”的走向及发展趋势,动态调整班次开行方案并及时通知广大旅客相关停班信息,确保旅客安全出行。有去机场、高铁站、火车站换乘的旅客请适当增加出行时间,以免受台风影响耽误行程。如因天气原因导致班次停运,乘车人可在当天携带本人身份证持车票到车站窗口办理全额退票。

  • 二氧化碳用途(二氧化碳的用途)

    二氧化碳是我们很熟悉的一种气体,大量的二氧化碳会导致温室效应的加剧。学过生物的同学都知道,植物的光合作用是需要二氧化碳作为原料的。在很多农场里面,也会放置产生二氧化碳的仪器,提高农作物的产量。二氧化碳灭火器可用于扑灭图书、重要仪器的失火,因为扑灭后没有任何的残留物质。其实这种效果都是由人为用干冰造成的。以及人工降雨也都会用到二氧化碳等,用途广泛。

  • 桂林社保卡要自己去银行办吗(桂林社保卡要自己去银行办吗现在)

    制卡人1寸白底免冠深色上衣证件纸质彩色照片1张。如委托代办,需提供受委托人的居民身份证原件。填写社会保障卡制卡申领表。社会保障卡启用1.办理条件本统筹区已领取社会保障卡,但未激活社保功能的参保人员。广西区内转入已经持有社会保障卡的参保人员。

  • tvb五花是谁(深扒TVB五朵金花)

    根据港媒报道,杨怡与胡定欣在剧组拍摄期间已经有了两女相争的苗头。根据当时报道,吴卓羲公开表示,自己与徐子珊仅拍摄了一天电视剧,便成为了男女朋友,使得二人被视为最佳荧幕情侣。在此期间,黄宗泽与五花们合作过多部作品,荧幕情侣也是组合了一对又一对。此外,同样家庭事业双丰收的还有勤恳劳模杨怡。然而,现实生活中,与杨怡定情的却是在剧中饰演马国明弟弟的罗仲谦。杨怡仍然认定罗仲谦,并于2016年10月于英国完婚。