1.赋值
R语言中可以使用三种符号进行赋值:=
、<-
、->
建议用=赋值,少按两下键盘
代码示例
# 赋值示例
> x=2
> x
[1] 2
> y<-5
> 5
[1] 5
> z->1:10 # 赋值的方向要遵循箭头的方向
Error: object 'z' not found
> 1:10->z
> z
[1] 1 2 3 4 5 6 7 8 9 10
2.基本运算
包括简单的数学运算、比较运算和逻辑运算
2.1数学运算
加减乘除:+-*/
求幂:^
按模取余:%%
整除:%/%
2.2比较运算
描述 | 符号 |
---|---|
大于 | > |
小于 | < |
大于等于 | >= |
小于等于 | <= |
等于 | == |
不等于 | != |
判断两个对象是否严格相等 :identical(x,y)
判断两个浮点数是否近似相等:all.equal(x,y)
或dplyr::near(x,y)
(误差1.5e-8)
2.3逻辑运算
描述 | 符号 |
---|---|
或 | | |
与 | & |
非 | ! |
异或 | xor(x,y) |
注意:
&&
和||
是短路运算,&&
是遇到TRUE则返回TRUE且不继续往下计算,&&
是遇到FALSE则返回FALSE且不继续往下计算。
代码示例
# 基础运算示例
# 以下所有运算都可以一次对多个元素起作用,即向量化运算
> y<-5.4
> x=2
> z=1:10
# 数学运算
## 加减乘除
> y-x
[1] 3.4
> z+x
[1] 3 4 5 6 7 8 9 10 11 12
> y*x
[1] 10.8
> (x+z)/x
[1] 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
[10] 6.0
## 求幂取余
> y^2
[1] 29.16
> y%%x
[1] 1.4
> y%%1.7 ## R中的按模取余可以对小数取余
[1] 0.3
> z%/%x
[1] 0 1 1 2 2 3 3 4 4 5
# 比较运算
> z>x
[1] FALSE FALSE TRUE TRUE TRUE
[6] TRUE TRUE TRUE TRUE TRUE
> z<y
[1] TRUE TRUE TRUE TRUE TRUE
[6] FALSE FALSE FALSE FALSE FALSE
> z==x
[1] FALSE TRUE FALSE FALSE FALSE
[6] FALSE FALSE FALSE FALSE FALSE
> z!=x
[1] TRUE FALSE TRUE TRUE TRUE
[6] TRUE TRUE TRUE TRUE TRUE
> a=2
> b=5.4
> a==x
[1] TRUE
> identical(a,x)
[1] TRUE
> identical(b,y)
[1] TRUE
> all.equal(b,y)
[1] TRUE
> dplyr::near(b,y)
[1] TRUE
> sqrt(a)^a==a
[1] FALSE
> identical(sqrt(a)^a,a)
[1] FALSE
> all.equal(sqrt(a)^a,a)
[1] TRUE
> dplyr::near(sqrt(a)^a,a)
[1] TRUE
# 逻辑运算
> lgc1=z<3
> lgc2=z>6
> lgc1
[1] TRUE TRUE FALSE FALSE FALSE
[6] FALSE FALSE FALSE FALSE FALSE
> lgc2
[1] FALSE FALSE FALSE FALSE FALSE
[6] FALSE TRUE TRUE TRUE TRUE
> lgc2|lgc1
[1] TRUE TRUE FALSE FALSE FALSE
[6] FALSE TRUE TRUE TRUE TRUE
> lgc1&lgc2
[1] FALSE FALSE FALSE FALSE FALSE
[6] FALSE FALSE FALSE FALSE FALSE
> !lgc1
[1] FALSE FALSE TRUE TRUE TRUE
[6] TRUE TRUE TRUE TRUE TRUE
> xor(lgc1,lgc2)
[1] TRUE TRUE FALSE FALSE FALSE
[6] FALSE TRUE TRUE TRUE TRUE
参考资料:
《R语言编程——基于tidyverse》张敬信