首先,在这里先跟大家说声对不起,技术团队最近一直在做课程开发,本着宁缺毋滥的原则,我们的微信文章一再搁置,在编辑部催了无数遍之后,终于可以把课程放出来给大家了。

为了增加课程的实用性,在前期课程的基础上,同时综合了很多学员的建议,后续会推出诸多系列课程,比如:科研绘图、高通量测序、数据挖掘、文献精读、R语言与统计等等。

今天,我们就从一门最实用的技术入手,给大家带来一门全新的系列课程:R语言从入门到精通。为了帮大家把这套课程做好,我们特意邀请到一位程序员大牛(文末见个人简介),历时数月,从诸多R语言教材中抽丝剥茧提炼出最精髓的内容分享给大家。

1

什么是R语言?  

R语言诞生于上世纪80年代,其前身是S语言,由于S语言是收费的商业软件,新西兰奥克兰大学的Robert Gentleman和Ross Ihaka及其他志愿人员就基于S语言开发了一个R语言。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

2

为什么要学R语言?

可能很多同学已经听说过R语言,也知道R语言的一些优势,但是绝大多数人可能还不确定R语言值不值得去学习,没办法下定决心去花费时间和精力。那么在这里,我就跟大家谈谈心,我们为什么要学习R语言,学习R语言到底值不值。我用三个“极其”来进行概括。

(1)R语言极其适合统计分析

统计,但凡做科研的,可能都会用到。平时我们都用SPSS、SAS,高级一点的用Matlab,简单一点的用GraphPad,甚至Excel。我可以这样说,这里所有的统计软件都是商业化的付费软件,唯独R语言不是。就从这点上,R语言就已经略胜一筹了。

从使用上来讲,所有的统计分析,包括简单的t检验、单因素/多因素方差分析、线性回归、生存分析等,到复杂的机器学习、神经网络、图像识别,R语言处理起来都是得心应手,其功能远远优于SPSS/SAS等一众统计软件。一句话:只有你想不到,没有R语言做不到的。

(2) R语言极其优秀的绘图功能

R语言中拥有诸多的绘图系统,例如base、lattice、grid、ggplot等。这些绘图系统各有各的特点,比如grid作图系统非常灵活多变,ggplot作图系统画的图非常优雅美观。有人会说,那GraphPad用起来也挺好的呀,作图也挺方便的。不好意思,跟R语言比起来,GraphPad连渣渣都算不上。不信,看看下面的图,GraphPad能做吗?

可以这样确切的说,大家在文献中看到的任何一种图,不管多么复杂高端,用R语言都可以做出来。另外,R语言还支持多种图形输出,最关键的就是非常优秀的矢量图输出哦。

(3) R语言极其全面的扩展功能

说到R语言的强大功能,最离不开的就是R语言数以万计的“插件”,也就是R包(R packages)。前面我们提到R语言一个非常重要的特点:免费开源。在程序员的世界中,凡是开源的东西,都有一个特点,那就是扩展功能全面且更新迭代迅速。先说说什么是R包:“包”就是“打包”的意思,顾名思义,就是把特定的函数和数据封装起来,做成一个“插件”。

不同的R包可以帮我们实现不同的功能,例如:我想做生存分析,就用survival包;想做RNASeq,就用DESeq2包;想做Meta分析,就用rmeta包等等。目前,在R语言的仓库CRAN中,共有14500多个R包,这还不包括在其他仓库,例如Github和Bioconductor等。总而言之,基本上你想做的任何一件事情,都有R包帮你实现。

当然,R语言还有很多其他的优势,从TIOBE世界编程语言排行榜的排名中可以看出,R语言的排名日渐升高,受到越来越多程序员的追捧,足以说明它的实力。而且,现在很多的高校也开始专门开R语言的课程以取代以往SPSS的课程,这也是我们推出这门系列教程的初衷。

3

R语言好学吗?

前面说了那么多,可能已经燃起了大家对R语言的学习兴趣。那么,随之而来的问题就是:R语言容易学吗?我需要花费多少的时间进行学习?在这里,我可以很坦白的告诉大家:R语言是一门编程语言,不是简单的操作软件,所以,R语言的入门并不简单。但是,别灰心,我的话还没说完:R语言入门不简单,但是仅限于入门

当你搞懂了常用的数据类型、函数、循环与判断、包等几个概念之后,你发现,R语言也就这些东西了。它不像java或者C/C++,学习道路异常的漫长,太多的概念和框架需要学习。R语言有些概念不同于常规的编程语言,所以入门稍微有点烧脑,但是入了门之后,你会发现,你需要学习的东西就那么一点,任何一个R代码拿过来一看就懂。

所以,如果你有充足的时间,一个月就足以掌握R语言的基础。在这个系列课程中,我们按照由易到难、由浅入深的原则,给大家安排了很多实用的内容,帮助大家从入门慢慢精通R语言,特别是在数据挖掘和生物统计中的应用。闲话不说,我们先来看看课程安排,一睹为快吧。

整个课程,我们初步分为6大块,从最简单的R语言环境调试入手,到编程基础,再到实际应用,以实例为基础,给大家讲解最原汁原味的R语言编程在生物医学当中的应用。从简单的1+1到复杂的机器学习,简直是“一文在手,天下我有”的感觉。

另外,该教程中的所有代码都是免费分享给大家的,期期皆有福利干货,敬请期待。

本期干货

·

!!  R语言学习经典教材电子版  !!

联系客服

胖雨小姐姐

领取

00讲师简介

上海交通大学硕士,MIT博士,长期从事医学与生物信息学研究,主要研究方向为高通量测序在肿瘤早期筛查和无创产前诊断中的临床应用,独立开发多个数据分析软件并发表相关文章(影响因子≥5分6篇,≥10分2篇),熟知R、Python、Perl及C语言等多种编程语言及程序设计,曾累计书写R代码超过5万余行。

明日推文预告

《R语言从入门到精通》第一讲--R语言简介及环境安装。

往期热文:

科研作图系列

【科研猫·绘图】看·箱线图·如何美丽动人(代码分享)

【科研猫·绘图】优雅版·小提琴图(带R代码分享)

【科研猫·绘图】缤纷版·韦恩图(带R代码分享)

生成分析系列

【科研猫】生存分析的正确姿势(1)视频+R代码分享

【科研猫·出品】TCGA超大批量生存分析教程

GEO数据挖掘系列

GEO数据库挖掘(1)--SCI文章速成

GEO数据库挖掘(2)--快速锁定目标数据

挖掘GEO速成SCI文章系列教程(3)-R语言基础

重磅:GEO数据库挖掘教程(4)一体化分析代码(带视频+R代码分享)

GO/KEGG功能富集系列

3分钟了解GO/KEGG功能富集分析

干货预警:3分钟搞定GO/KEGG功能富集分析(2)

终极篇:3分钟搞定GO/KEGG功能富集分析-柱状图

终极篇:3分钟搞定GO/KEGG功能富集分析-气泡图

TCGA数据挖掘系列

隔壁实验室的“秃鹫”师兄又发SCI啦--TCGA数据挖掘实战

TCGA数据挖掘终结者:cBioPortal

生物信息入门系列

大咖聊“生信”—生物信息系列(1)

生物信息系列课程-R语言入门

更多科研新鲜资讯、文献精读和生物信息技能,请关注科研猫公众号

下方点好看,更多好看。

语言迭代发_从今天开始,每天学点R语言~相关推荐

  1. r语言 siar 代码_平滑转换自回归(STAR)模型的R语言编程实现详解

    总体讲,ST(Smooth transition)模型,这块的code混乱的比较狗血,文献中的做法也是千奇百怪, 单变量的有 :STAR, LSTAR, ESTAR, 多变量的有:STVAR, LST ...

  2. 语言 提取列名_学习健明老师发布的R语言练习题的学习笔记(二)

    学习者:骆栢维 题目来源:生信基石之R语言 中级10 个题目:http://www.bio-info-trainee.com/3750.html 备注:本文为笔者学习健明老师GitHub答案代码的学习 ...

  3. R语言 深圳 面授_「深圳侦探电话」用R语言实现深度学习情感分析

    04-16阅读数466 作者:黄天元,复旦大学博士在读,目前研究涵盖文本挖掘.社交网络预测和机器学习等.希望与你们分享学习心得,推广并加深R语言在业界的应用.邮箱:huang.tian-yuan... ...

  4. python r语言 结合 部署_(转)python中调用R语言通过rpy2 进行交互安装配置详解...

    python中调用R语言通过rpy2 进行详解 1.R语言的安装: 大家进行R语言的安装,在安装好R后,需要配置环境变量R才能进行使用. 对此电脑右键->选择高级设置->环境变量-> ...

  5. 林学菜鸟---R语言点格局分析

    林学菜鸟-R语言点格局分析 本人是R语言菜鸟一枚,有不足的地方希望大佬们指教.这段时间忙着写毕业论文,因为论文的一部分内容涉及到树种的分布格局,所以自己鼓捣了一段时间.下面是我用R语言(Rstudio ...

  6. R plot图片背景设置为透明_学习健明老师发布的R语言练习题的学习笔记(一)...

    学习者:骆栢维 题目来源:生信基石之R语言 初级10 个题目:http://www.bio-info-trainee.com/3793.html 备注:本文为笔者学习健明老师GitHub答案代码的学习 ...

  7. excel计算二元线性回归_多重共线性及解决方法(附R语言代码)

    一.多重共线性及其危害 我有一组自变量: 它们满足下列关系: 那么我们称这四个变量间存在多重共线性. 这就意味着,一个变量可以被另外几个变量来解释,这就会带来两个后果 1.尽管系数估计的无偏性没有收到 ...

  8. 语言 重量计算_大师之光:有种跨越国界的语言叫C++

    语言太重要了,因为他的重要性,每个人都花很多时间来学习语言,幼儿时先学习母语,略长大了开始学习外语,成年了可能再进一步巩固母语,或者学习更多的外语. 对于越来越多的现代人来说,除了学习人类的语言外,还 ...

  9. python医学应用_数据分析工具鄙视链:Python、R语言是老大,Excel只能称小弟?

    最新行业报告 2020数据分析.商业分析行业报告工作岗位与职能.薪资对比.热招公司等多方面详细解读帮助你一网打尽,斩获心仪Offer! 扫码回复[数据分析 0]立即领取 History语言发展史ABC ...

最新文章

  1. 用matlab判断文件是否存在_判断文件夹、文件是否存在、创建文件 c++ matlab
  2. 更改日期为英文_如何在 Linux 上检查所有用户密码到期日期 | Linux 中国
  3. Webstorm2017安装以及破解和汉化
  4. Java 集合框架部分面试题
  5. netty系列之:使用netty搭建websocket服务器
  6. spring-boot注解详解(一)
  7. STM32F103实现点灯(寄存器方式)
  8. Java接口–历年来Java 9之旅–默认和私有方法
  9. 关于C语言中的Bool类型变量的一点看法
  10. DWR2学习笔记(一)
  11. win10开机,内存占用过高
  12. python OptionParser模块使用
  13. 乡镇上那些卖散白酒的一天不见几个人买,为什么不关店?
  14. 周易 —— 文本阅读
  15. java监控文件内容变化_Java使用WatchService监控文件内容变化的示例
  16. [Android] 【极其罕见】【安卓】视频转换器【支持18种格式转换!】
  17. 2019.6.7 一场搜索专题的考试【including 洛谷·血色先锋队,入门OJ·兴建高铁,珠光宝气阁
  18. 第1部分 基础算法(提高篇)--第1章 贪心算法1425:【例题4】加工生产调度
  19. css span文字下划线
  20. 主板aspm关闭_华硕主板BIOS关闭secure boot和fastboot图解

热门文章

  1. JavaScript学习笔记:动态添加与删除表格行
  2. error : flash system error_求求你,别再用 System.out.println 了!
  3. 自创算法——暴力自动机
  4. 【英语学习】【Level 07】U07 Stories of my Life L1 Going to the Countryside
  5. 【英语学习】【Level 07】U05 Best Destination L2 The City of Lights
  6. 【英语学习】【WOTD】doldrums 释义/词源/示例
  7. HashMap put原理详解(基于jdk1.8)
  8. 如何写出一个较好的快速排序程序
  9. python是面向什么的计算机程序设计语言_Python是一种计算机程序设计语言,python到底该怎么学习...
  10. rdlc 固定前两列每页都显示_现在的大学生,都不会论文排版了