我们生信技能树第四期生信入门班第一周课程R语言刚刚结束,群里 多位学员热情分享自己的学习笔记,今天展示的是优秀学员鼠鼠的R语言笔记,来看看!
如果你还没有生信入门,可以看看我们这期的0基础入门学习班,课后会安排大量实战训练哦:4月班生信入门&数据挖掘课:全新升级,快来!
这个公众号的第一篇推文就交给R语言吧,之前其实自己有探索过这门编程语言,但我总是会过度地依赖AI来帮助我写代码、debug甚至为我进行结果的判断。
然而,AI总是会一点一点地把你的参数、目标甚至总体方向给改得面目全非。“跟着感觉走,摔个大跟斗”,当青蛙发现自己在锅子里热得跳不出来时,除了重开我想不到到其他能够逃出生天的方法。
为了不再红温,我选择系统性地学习R语言以及一些其他的生信分析方法,开这个公众号的初衷既是为了整理笔记,同时也希望能够帮到或者结识更多的人。我并不想我的行文风格变成特别严谨的叙述,因此我会在确保不出错的情况下尽量简洁且生动地记下我所学到的东西,也不会去阐述一些完全没必要写进笔记的基本常识
希望这份初心在漫漫长路中常青!
R是一种编程语言,也是统计计算和绘图的环境,它汇集了许多函数,能够提供强大的功能。因为医学生本质上是一群既会一些生物学,又会一些统计学,还需要依赖视觉来传达自己的发现的群体,所以这个完全开源且免费的编程语言就是强无敌的。
R语言的安装包可以在R的官网 https://www.r-project.org/上下载,点开Download栏下的CRAN,随便选一个在China的链接点进去,里面就会有Windows和Mac的对应的安装链接,进去之后点install R for the first time的高亮处,进去按最上面的download就好了。R语言可以装到系统盘里面,按照默认设置来就行了。(ps.把R和RStudio安装在系统盘的观点引用自)
(ps.把R和RStudio安装在系统盘的观点引用自生信技能树的小洁老师,总之宗旨就是别听别人说什么装到D盘,这点儿内存就别省了)

R Studio是我们日常工作所在的软件,写代码看图或者这些七里八里的全部都在这个软件里面,这个必须给到夯爆了!!!这里直接给到链接https://posit.co/download/rstudio-desktop/ 按照自己的系统对应下载安装到系统盘就好了,最后会来到这样一个界面(刚进来的界面和字体其实都不是我这个阴间颜色,别怕,自己可以去Tools> Global Options> Appearance里面调节):

R包是R语言中的一个重要概念,它是R函数、实例数据、预编译代码的集合,包括R程序、注释文档、实例、测试数据等。R包的存在极大地扩展了R语言的功能,使其能够处理更复杂或专业化的任务。
我个人把它理解为一个个的“半自动流程”,R包的作者捣鼓出一套像是半自动流水线一样的方法,你只需要把原料按照说明书上要求的样式扔进去,再设置一些参数,最后只要等着出餐就行了。
虽然很多函数听起来原理很复杂,但我们并不需要去特别多地了解它的具体原理就可以使用它,因为这些函数的本质就是代数。假如说我正在做一个R包,然后我在创造一个新的函数:
my_fun <- function(x,y){ x*y-1} # 这里的x和y是形式参数,可以认为是参数的名字,这个函数的意思就是x乘以y再减1my_fun(3,4)my_fun(x=3,y=4)# 完整情况下是要写形式参数的my_fun(y=4,x=3)# 形式参数也可以在调用函数的时候指定,这样就不需要按照顺序来输入参数了# 可以看到返回的结果全是一样的它本质上就是一个把x和y扔进去得到x*y-1这么个产品的过程,除了不把x和y弄错,其他的我管他这那的。
R包主要有三个来源,分别是官网的Comprehensive R Archive Network (CRAN)、Bioconductor以及GitHub。
如果是在CRAN上的包, 使用install.packages("包名")进行安装
install.packages("stringr")如果是在Bioconductor上的包,安装BiocManager包后,BiocManager::inst all("包名")进行安装
BiocManager::install("limma")如果是在GitHub上的包,安装devtools包后,devtools::install_github("用户名/包名")进行安装
devtools::install_github("jmzeng1314/idmap1")如果是下载在本地的包,安装devtools包后devtools::install_local("压缩包名")进行安装
devtools::install_local("idmap1-master.zip")在安装R包时,绝大多数情况下遵从以下规则: Message永远不管,Warning一般不管,Error才需要管,问你yes or no就选no。只要library()没啥问题就万事大吉,剩下的那你别管!(ps. library()函数是用来加载R包的)
当然,也有少数时侯要选yes,比如说弹窗告诉你要装A包之前必须装B包,问你要不要装的时候。
那这个时候就有人要问了,主播主播,如果我不知道我有没有安装某个R包怎么办?如果我已经装过这个R包的话那我之前不白装了吗? “有的兄弟有的”,我们可以用一个简单的条件判断解决这个问题
# 比如data.table包if(!require(data.table))install.packages("data.table") 前面提到过了,只要library(包名)不弹Error就成了,剩下的那你别管。
这是我自己写的第一篇公众号推文,我不知道我能够帮助大家多少,但如果你觉得我写的东西逻辑说得通,或者能够给你带来一些价值(不管是真的帮助还是每日乐子),就烦请您给个宝贵的关注,之后我尽量坚持更新这些板块!
Thanks!
By 鼠鼠
友情转发:
GEO数据实战训练直播(学员免收门票),课后有大量案例实战训练