R語言運算符知識點講解

運算符

運算符:包含一個或者兩個參數的無括號的參數

符號 說明
+
*
^
%% 取模運算
%/% 整除運算

可以定義自己的二元運算符

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

一些特殊的語言結構也是二元運算符

例如:賦值運算符<-,索引[],函數調用max(a, b)

運算順序

運算符的優先級 (按優先級排序)

運算符 描述
({ 函數調用和分組表達式
[ [[ 索引
:: ::: 訪問命名空間中的變量
$ @ 成分/序列提取
^ 求冪運算
– + 一元負號和正號
: 序列運算符
%any% 特殊運算符
*/ 乘法,除法
+ – 二元加,減
< > <= >= == != 關系運算符
! & && | || 邏輯運算符
~ 公式連接符
-> ->> 向右賦值
= 從右至左賦值
<- <<- 從右至左賦值
? 幫助

賦值操作

R中還有一類賦值操作語句,其賦值操作符的左端是一個函數

將一個對象替換為一個屬性略有不同的對象

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)
dim(v) = c(2, 4)
> v
   [,1] [,2] [,3] [,4]
[1,]  1  3  5  7
[2,]  2  4  6  8
> v[2, 2] = 10
> v
   [,1] [,2] [,3] [,4]
[1,]  1  3  5  7
[2,]  2  10  6  8
> formals(z) = alist(a=1, b=2, c=3)
> z
function (a = 1, b = 2, c = 3) 
{
  a^b/c
}

後臺的操作形如

fun(sym) = val

實際是如下形式的函數的語法糖

`fun<-`(sym, val)

這些函數會替換當前環境中與sym相關的對象.

通常fun指向的是由sym表示的對象的屬性.

如果寫瞭一個名為method_name<-的方法,R中允許將method_name<-放在賦值語句的左端

到此這篇關於R語言運算符知識點講解的文章就介紹到這瞭,更多相關R語言運算符內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: