R语言运算符知识点讲解

时间:2022-09-20 23:13:25

运算符

运算符:包含一个或者两个参数的无括号的参数

 

符号 说明
+  
-  
*  
^  
%% 取模运算
%/% 整除运算

 

可以定义自己的二元运算符

?
1
2
3
`%myop%` = function(a, b){
 2*a + 2*b
}
?
1
2
> 1 %myop% 1
[1] 4

一些特殊的语言结构也是二元运算符

例如:赋值运算符<-,索引[],函数调用max(a, b)

运算顺序

运算符的优先级 (按优先级排序)

 

运算符 描述
({ 函数调用和分组表达式
[ [[ 索引
:: ::: 访问命名空间中的变量
$ @ 成分/序列提取
^ 求幂运算
- + 一元负号和正号
: 序列运算符
%any% 特殊运算符
*/ 乘法,除法
+ - 二元加,减
< > <= >= == != 关系运算符
! & && | || 逻辑运算符
~ 公式连接符
-> ->> 向右赋值
= 从右至左赋值
<- <<- 从右至左赋值
? 帮助

 

赋值操作

R中还有一类赋值操作语句,其赋值操作符的左端是一个函数

将一个对象替换为一个属性略有不同的对象

?
1
2
3
4
5
6
x = 1
y = list(shoes = "loafers", hat = "Yankees cap", shirt = "white")
z = function(a, b, c){
 a^b/c
}
v = c(1 ,2, 3, 4, 5 ,6, 7, 8)
?
1
2
3
4
5
dim(v) = c(2, 4)
> v
   [,1] [,2] [,3] [,4]
[1,]  1  3  5  7
[2,]  2  4  6  8
?
1
2
3
4
5
> v[2, 2] = 10
> v
   [,1] [,2] [,3] [,4]
[1,]  1  3  5  7
[2,]  2  10  6  8
?
1
2
3
4
5
6
> formals(z) = alist(a=1, b=2, c=3)
> z
function (a = 1, b = 2, c = 3)
{
  a^b/c
}

后台的操作形如

?
1
fun(sym) = val

实际是如下形式的函数的语法糖

?
1
`fun<-`(sym, val)

这些函数会替换当前环境中与sym相关的对象.

通常fun指向的是由sym表示的对象的属性.

如果写了一个名为method_name<-的方法,R中允许将method_name<-放在赋值语句的左端

到此这篇关于R语言运算符知识点讲解的文章就介绍到这了,更多相关R语言运算符内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.kancloud.cn/sacomplex/rlanguage/315649