R语言之基础
Contents
R语言是Ross Ihaka和Robert Gentlemanat在新西兰奥克兰大学于1996年发起的一个项目,并且由1976年贝尔实验室的S语言发展而来。目前于R语言常用于统计分析,绘图,数据挖掘。
获取R的地址:http://cran.r-project.org/,国内镜像为:https://mirrors.tuna.tsinghua.edu.cn/CRAN/。
R语言常用IDE为RStudio,下载地址为:https://rstudio.com/products/rstudio/。
1.基础
这里首先列举一些常用语法,之后解释了遇到的一些问题。
推荐的变量命名:China.City
, ThisIsAFunction
, i
。
1.1基本运算
- 整除:
%/%
- 整除取余:
%%
- 索引:
[],$
- 判断元素是否在向量中,返回布尔值
%in%
- 矩阵乘法:
%*%
- 数学函数:
exp(), log(), log10(), sqrt()
- 取整函数:四舍五入取整
round(n)
,向上取整ceiling(n)
,向下取整floor(n)
。round(n,m)
表示对n保留m位小数进行四舍五入。
常用语句如下:
|
|
1.2常见疑惑
<-
,<<-
与=
的区别
- 在大多数语言中
=
作用有两个赋值和传参,但在R语言中<-
的作用只有赋值并且创建对象,且该箭头方向为双向(可向右赋值->
)。如果同时存在,优先据<-
高于=
。由于<-
的可读性好,故R语言中一般使用<-
。 <<-
表示全局赋值,可在函数中向全局变量赋值,与<-
类似,也可向右进行赋值
2.数据结构
基本常用数据类型有:数值型(numeric)、逻辑性(logical)、字符型(character)、复数型(complex)、原味型(raw)、缺省型(missing value)。
数据对象有:向量(vector)、矩阵(matrix)、数组(array)、列表(list)、数据框(data.frame)、因子(factor)。
下文是常用的代码示例:
|
|
3.基本语法
R语言与Python不同,需要通过{}
来进行代码块的分割,在R语言中next
类似与其他语言中的continue
。
代码示例如下:
|
|
4.高效原则
随着数据的海量增加,对于数据的处理效率能够市数据。在编程过程中通过一些简单技巧,就可以使程序的执行效率有显著的提高,
- R语言能够直接对向量进行运算,所以尽量避免使用
for
循环,可以通过apply(), foreach()
来等价替换。 - 在使用向量时最高能够提前分配好大小,而不是动态添加。
- 使用R语言中并行包
parallel, foreach, doParallel
来处理数据。 - 通过
rm()
将对象从内存中及时释放。