变量和常量
R语言跟python一样,并不是perl或者shell那样需要一些特殊字符( $,@等等)开头来代表它是一个变量,只需遵循变量命名规则的字符组合即可,所以呢,如果同样的字符要昨晚常量就必须使用单双引号这样才能区分变量和常量,当然了,数字本身就只能是常量了,变量也不能以数字开头,如果一个数字加上了引号,它就是常量的字符了。
更为详细的介绍如下:
多种数据类型(数值,字符,逻辑,因子)
上面我们讲解了最简单的常量和变量,它们有数字和字符的差异,其实还有其它两个常用的数据类型,就是逻辑和因子。
多种数据结构(向量,矩阵,数组,数据框,列表)
前面我们看到的常量和变量,都只有一个元素,是最简单的向量,实际上向量可以有多个元素,比如小明同学这个变量,他可以有名字(通常是字符),也可以有语数外的考试成绩(通常是数值),这就是长度不等的向量,如下:
但是通常一个班级不可能只有一个学生,如果有多个同学(还有小红和小绿),他们都有语数外成绩,就是一个矩阵了,一个二维矩阵,属于数组的范畴。
同样的道理,小明,小红和小绿这3个同学的语数外三门考试的成绩,可以跨越多个年度多次统计,这样就多了一个时间的维度,就是三维数组啦!
同样的道理,维度可以无限增加,比如增加一期中、期末考试的分类维度,就是4维数组。但这个不是重点。
重点是有些时候,向量和数组是不足以满足现实需求的,比如考试成绩里面,语数外都是得分,是数字,当然没有问题,但是呢,他们有一个政治成绩是PASS和failed这样的简单分类,我们的数组描述起来就有点困难了。
不过,即使我们解决了数字与字符混排这个麻烦,通过引入数据框这个知识点,比如病人的临床信息,就可以有不同的列,分别是数字的年龄,字符的TNM分期等等。但是仍然是有个问题,因为它太规范了,只能是多少行多少列的规则格式,实际上有可能是同一个班级里面的不同学生,他们可能是选修不同的课程,这样他们记录的成绩本来就是不一样的。
第三步:了解变量的基础操作函数
有了变量和常量的概念,数据类型和数据结构的概念,我们就相当于是半只脚踏入R语言的大门了,因为我们有了数值型向量,所以可以对他们进行加减乘除的基本数学运算,如下:
因为我们有了字符型向量,也可以对其进行一系列的字符串操作
到这里,大家相当于把一本R语言教材书籍看了一半了,因为对没有编程思维的人来说,仅仅是理解这些知识点就耗费了她几个月的力气,不过对于有编程思维的人来说,也就是一杯咖啡的功夫过去了而已。
R语言的起源
R语言主要受S语言( 1976年John Chambers在贝尔实验室创建)和Scheme语言(20世纪70年代在麻省理工学院AI实验室的Guy L. Steele和Gerald Jay Sussman创建)影响发展而来,主要用户为统计学家和数据分析人员,常用于统计分析和图形可视化。早期R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作任何修改的在R环境下运行。
R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发.[因两人名字都是以R 开头 所以也因此形象称为R。
来源:Wiki百科
R语言的应用
R语言的主要应用方向:统计分析(如统计检验)和数学建模、数据可视化以及其他(如数据收集与清洗、网页等交互式应用开发等)。
就统计分析和数学建模来看,R可与流行的商业统计软件包(如SAS,SPSS和Stata)相媲美,而且是完全免费的。
特别地,因用户贡献的第三方软件包的增长,R的应用范围得到了极大的扩展,R语言的用户数在近年来迅速增长。截至2018年8月,R在TIOBE指数中排名第18位。
-
CRAN:13095(2018.09.25)
-
Bioconductor:2846(2018.09.25)
-
GitHub、GitLab、Bitbucket等基于Git的软件仓库:未统计
其中Bioconductor主要存放与生命科学数据分析相关的R包,包括1562(Software)+ 921 (AnnotationData)+ 342 (ExperimentData)+ 21(Workflow)
如果你是统计学家、数学家、数据分析师、或者是科研人员,掌握R语言对你来说真的是非常有价值的一件事情。
注:TIOBE指数用来衡量编程语言的流行程度。
来源:R : Graphics Tutorial Series ( Part 1 )
来源:clusterProfiler,PDF
来源:ECharts, ECharts2Shiny
来源:Maftools,教程
扩展阅读 Tippmann S. Programming tools: Adventures with R[J]. Nature, 2015, 517(7532):109.