关键时刻还得看咱生信工程师
最近在线绘图网站有点火,连续有文章发表出来,有人高呼,生信工程师要失业了,这种想法好傻好天真。
这不,问题来了。
正好借此解决问题的机会,科普一下为何不能过度依赖网站,而是应该把基础打好,特别是从业人员。
问题是这样的,有朋友在某网站画一个雷达图,她的数据是:
kable(tb)
Group | CELL CYCLE | HIPPO | MYC | NOTCH | PI3K | RTK-RAS | TGF-β | TP53 | WNT |
---|---|---|---|---|---|---|---|---|---|
Metastasis | 9 | 30 | 7 | 29 | 15 | 25 | 9 | 17 | 30 |
NonMetastasis | 1 | 23 | 5 | 21 | 11 | 25 | 10 | 16 | 19 |
结果出错了,报错信息如下:
Error: 'plot.data' contains value(s) > grid.max
凭经验,网站后台画图调用的是ggradar
这个包,错误信息的意思是:
用于画图的数据表包含大于 grid.max 这个参数的值。
我们查看一下ggradar
包的帮助:
ggradar(plot.data,base.size = 15,font.radar = "sans",values.radar = c("0%", "50%", "100%"),axis.labels = colnames(plot.data)[-1],grid.min = 0,grid.mid = 0.5,grid.max = 1,...
可以看到,grid.max
的默认值是 1,如果用于画图的数据表中有值大于 1,自然就会出错。
雷达图类似于一个蜘蛛网,由各种圆圈以及连线组成,下列 3 个参数用来设置圆圈:
grid.min,最小值,即最小的圆圈代表的值
gird.mid,中间值,即中间圆圈代表的值
grid.max,最大值,即最外层圆圈代表的值
这 3 个值定义好之后,数据表中的值就可以在雷达图上找到自己的位置了。
默认情况下:
grid.min = 0
grid.mid = 0.5
gird.max = 1
这表示ggradar
默认是为归一化数据作图的,而输入数据没有归一化,所以报错了。
找到了原因,解决方法也就有了:
将数据归化,然后画图
改默认参数,然后画图
我们这里通过改默认参数来画图:
library(ggradar)ggradar(tb, grid.min = 1,grid.mid = 15,grid.max = 30, values.radar = c(1,15,30))
非常丝滑。
ggradar
包还有非常多的参数可用于定制雷达图,比如调整各种线条的颜色以及字体大小等,可以根据需要进行修改。
在线工具有时候不靠谱,关键时刻还是需要线下工具(人)。
我最后把在 Rstudio 里面用 ggradar 画图的代码给朋友看,她惊呼:天哪,就这么简单吗,难道我真要学 R ?
粉丝福利
学生信,计算机基础一定要好。毫不夸张地说,计算机基础决定了你能否入门,而生物学修养决定你能走多远。没有出发,如何走得远?
从零开始学生信交流群,免费咨询,量身定制学习计划
关键时刻还得看咱生信工程师相关推荐
- 肿瘤NGS测序公司生信工程师水平划分
生信工程师能力划分 1.大头兵 (1)初级生信工程师 工作职责 任职要求 (2)中级生信工程师 工作职责 任职要求 (3)高级生信工程师 工作职责 任职要求 2.主管/经理 职位描述 任职要求 3.总 ...
- 【lnmp】require(): open_basedir restriction in effect.【百度不是万能的,关键时刻还得靠自己】
TP5的项目,多模块设置多多个站点入口: 推上线时一堆问题,之一:权限问题 由于所有模块公用 thinkphp框架文件,在调用时报错 require(): open_basedir restricti ...
- 送书 | 知乎阅读300w+的生信学习指南(更新版)
先送书 在上周的留言送书活动中,恭喜下面这位读者获得书籍"Oracle高性能系统架构实战大全",请及时与生信宝典编辑(shengxinbaodian)联系. 2020过去三分之一了 ...
- 生信宝典:生物信息学习系列教程、视频、资源
生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...
- 引用另一模板的宏_生信人值得拥有的编程模板Shell
前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environ ...
- 事态升级是什么意思_为什么有的人越到关键时刻越容易掉链子?记住不要有“赌徒心理”...
今天,为大家分享晚清重臣曾国藩的一句话,讲述的是"赌徒心理". 生活中,往往会有这样一种怪象,很多人平时能力很强,表现也不错,但是一到关键时刻就容易掉链子,将一腔心血付诸东流,无奈 ...
- 生信软件c语言,科学网—[转载]没有docker我真的不想动这样的生信软件 - 张成岗的博文...
没有docker我真的不想动这样的生信软件 2020-03-26阅读 2620 C语言源代码需要编译的软件 最开始开发者都是C语言流派, 所以标准的源代码安装三部曲即可,即使 configure+ma ...
- 生信人值得拥有的编程模板-Shell
前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environ ...
- 生信人写程序2. Editplus添加Perl, Shell, R模板和语法高亮
https://www.editplus.com/ 前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Inte ...
最新文章
- pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
- mysql导入导出数据库
- MySQL解压缩安装
- 项目开发中关于jquery中出现问题小结(textarea,disabled,关键字等)
- python程序把文件编码转换
- PyTorch基础-softmax函数mnist数据集识别-03
- python flask html模板,python flask web开发实战 Jinja2模板
- JAVA常见算法题(二十五)
- outlook删除web邮件服务器,从Outlook中删除 Web 邮箱策略Exchange Online
- vue 时间插件限制选择时间
- [笔记]unity渲染相关各种方案总结
- OpenCV提取图书条码(ISBN码)
- Arduino入门教程--连载
- metro样式开机启动菜单_如何在Windows 8中获取Metro风格的开始菜单和开始按钮
- python中count什么意思_python中函数COUNT()的功能是什么
- STM32F103C8T6+ST7735TFT LCD彩屏驱动程序
- 数商云:补齐数字化短板,农林牧渔供应链升级执行“三步走”
- 网管员必知:常用电脑密码破解(转)
- 马云的SNS梦美好却残酷
- 物流软件行业Top企业概况与各地发展优劣势分析