5.[小白学习笔记] R语言关系运算符

真·科研狗 2017-06-12 23:30:30 阅读: 1634

算数运算符

1. + - * / 加减乘除

加减乘除模式基本一样,我们以+来为列子

a=1
b=2
print(a+b)

得到如下结果

[1] 3

上面是简单的列子,很好理解,再看下面的代码

a <- c(1,2,3)
b <- c(4,5,6)
print(a+b)

得到如下结果:

[1] 5 7 9

从上面可以看出,由c()函数产生的向量进行运算的时候,是逐个元素按顺序操作。

那么又有一个问题,如果a和b中的元素个数不一样会怎样呢?

a <- c(1,2)
b <- c(4,5,6)
print(a+b)

会得到如下结果:

[1] 5 7 7
Warning message:
In a + b : longer object length is not a multiple of shorter object length

可以看出,a的元素只有2个,在第三个相加的时候将a里面的重复取值相加也就是1+6

2. %% 求余

我们输入如下的代码:

a <- 5
b <- 3
print(a%%b)

得到如下的结果

[1] 2

很容易理解,5除以3之后余2.

同样,向量之间也和加减乘除一样

a <- c(1,2,3)
b <- c(4,5,6)
print(b%%a)

得到如下的结果:

[1] 0 1 0

3. %/% 求商

求商的结果就是保留整数部分,余数部分舍去

a <- c(1,2,3)
b <- c(4,5,6)
print(b%/%a)

得到如下结果:

[1] 4 2 2

4. ^ 将第二个作为第一个的指数

a <- c(1,2,3)
b <- c(4,5,6)
print(b^a)

得到如下结果:

[1] 4 25 216


关系运算符

1. > 大于 < 小于

判断前面的元素是否大于后面的元素

a <- c(1,2,3,8)
b <- c(4,5,6,7)
print(a>b)

得到如下的结果:

[1] FALSE FALSE FALSE TRUE

2. == 等于

判断左右两个元素是否相等

3. <= 小于等于 >=大于等于

4. != 不等于


逻辑运算符

1. & 且运算符

这就是相当于高中数学中且的运算,只有两个都为TRUE的时候,返回结果才为TRUE

a <- c(1,2,FALSE,FALSE)
b <- c(4,5,6,TRUE)
print(a&b)

返回如下结果:

[1] TRUE TRUE FALSE FALSE

2. | 或运算符

只要左右两边任何一个为TRUE,返回结果为TRUE

3. !非运算符

a=FALSE
print(!a)

得到的是TRUE

4. && 且运算符,但是只是取两个向量的第一个元素,这两个元素都为TRUE的时候才为TRUE

a <- c(1,2,FALSE,FALSE)
b <- c(4,5,6,TRUE)
print(a&b)

得到如下结果

[1] TRUE

5. || 或运算符,同样是取两个向量的第一个元素,只要有一个为TRUE,返回TRUE



赋值运算符

1. 向左赋值运算符

<- 或者 = 或者 <<-

2. 向由赋值运算符

-> 或者->>


其他运算符

其他运算符一般是R语言比较特殊的运算符。

1. :冒号运算符

为向量产生一连串的数字

a <- 1:7
print(a)

得到如下的结果

[1] 1 2 3 4 5 6 7

2. %in% 属于运算符。判断左边的是否属于右边的向量之中

x <- 2
y <- 12
a <- 1:7
print(x %in% a)
print(y %in% y)

得到如下的结果

TRUE
FALSE

3. %*% 用于将矩阵与其转置相乘

微信截图_20170612232410.png


 
邀请讨论

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
{{item.nick_name}} 受邀请回答 {{item.create_time}}
{{item.refer_comment.nick_name}} {{item.refer_comment.create_time}}

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
切换到完整回复 发送回复
赞({{item.count_zan}}) 踩({{item.count_cai}}) 删除 回复 关闭
科研狗©2015-2025 科研好助手,京ICP备20005780号-1 建议意见

服务热线

178 0020 3020

微信服务号