運算符是一個符號,通知編譯器執(zhí)行特定的數(shù)學或邏輯操作。 R語言具有豐富的內(nèi)置運算符,并提供以下類型的運算符。
R語言中擁有如下幾種運算符類型:
下表顯示了R語言支持的算術運算符。 操作符對向量的每個元素起作用。
運算符 | 描述 | 例 |
---|---|---|
+ | 兩個向量相加 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v+t) 它產(chǎn)生以下結果 - 10.0 8.5 10.0 |
- | 兩個向量相減 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v-t) 它產(chǎn)生以下結果 - -6.0 2.5 2.0 |
* | 兩個向量相乘 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v*t) 它產(chǎn)生以下結果 - 16.0 16.5 24.0 |
/ | 將第一個向量與第二個向量相除 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v/t) 當我們執(zhí)行上面的代碼,它產(chǎn)生以下結果 - 0.250000 1.833333 1.500000 |
%% | 兩個向量求余 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v%%t) 它產(chǎn)生以下結果 - [1] 2.0 2.5 2.0 |
%/% | 兩個向量相除求商 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v%/%t) 它產(chǎn)生以下結果 - [1] 0 1 1 |
^ | 將第二向量作為第一向量的指數(shù) | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v^t) 它產(chǎn)生以下結果 - [1] 256.000 166.375 1296.000 |
下表顯示了R語言支持的關系運算符。 將第一向量的每個元素與第二向量的相應元素進行比較。 比較的結果是布爾值。
運算符 | 描述 | 例 |
---|---|---|
> | 檢查第一向量的每個元素是否大于第二向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v>t) 它產(chǎn)生以下結果 - FALSE TRUE FALSE FALSE |
< | 檢查第一個向量的每個元素是否小于第二個向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v < t) 它產(chǎn)生以下結果 - TRUE FALSE TRUE FALSE |
== | 檢查第一個向量的每個元素是否等于第二個向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v == t) 它產(chǎn)生以下結果 - FALSE FALSE FALSE TRUE |
<= | 檢查第一向量的每個元素是否小于或等于第二向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v<=t) 它產(chǎn)生以下結果 - TRUE FALSE TRUE TRUE |
> = | 檢查第一向量的每個元素是否大于或等于第二向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v>=t) 它產(chǎn)生以下結果 - FALSE TRUE FALSE TRUE |
!= | 檢查第一個向量的每個元素是否不等于第二個向量的相應元素。 | v <- c(2,5.5,6,9) t <- c(8,2.5,14,9) print(v!=t) 它產(chǎn)生以下結果 - TRUE TRUE TRUE FALSE |
運算符 | 描述 | 例 |
---|---|---|
& | 它被稱為元素邏輯AND運算符。 它將第一向量的每個元素與第二向量的相應元素組合,并且如果兩個元素都為TRUE,則給出輸出TRUE。 | v <- c(3,1,TRUE,2+3i) t <- c(4,1,FALSE,2+3i) print(v&t) 它產(chǎn)生以下結果 - TRUE TRUE FALSE TRUE |
| | 它被稱為元素邏輯或運算符。 它將第一向量的每個元素與第二向量的相應元素組合,并且如果元素為真,則給出輸出TRUE。 | v <- c(3,0,TRUE,2+2i) t <- c(4,0,FALSE,2+3i) print(v|t) 它產(chǎn)生以下結果 - TRUE FALSE TRUE TRUE |
! | 它被稱為邏輯非運算符。 取得向量的每個元素,并給出相反的邏輯值。 | v <- c(3,0,TRUE,2+2i) print(!v) 它產(chǎn)生以下結果 - FALSE TRUE FALSE FALSE |
邏輯運算符&&和|| 只考慮向量的第一個元素,給出單個元素的向量作為輸出。
運算符 | 描述 | 例 |
---|---|---|
&& | 稱為邏輯AND運算符。 取兩個向量的第一個元素,并且只有兩個都為TRUE時才給出TRUE。 | v <- c(3,0,TRUE,2+2i) t <- c(1,3,TRUE,2+3i) print(v&&t) 它產(chǎn)生以下結果 - TRUE |
|| | 稱為邏輯OR運算符。 取兩個向量的第一個元素,如果其中一個為TRUE,則給出TRUE。 | v <- c(0,0,TRUE,2+2i) t <- c(0,3,TRUE,2+3i) print(v||t) 它產(chǎn)生以下結果 - FALSE |
這些運算符用于向向量賦值。
運算符 | 描述 | 例 |
---|---|---|
<? or = or <<?
| 稱為左分配 | v1 <- c(3,1,TRUE,2+3i) v2 <<- c(3,1,TRUE,2+3i) v3 = c(3,1,TRUE,2+3i) print(v1) print(v2) print(v3) 它產(chǎn)生以下結果 - 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i |
-> or ->>
| 稱為右分配 | c(3,1,TRUE,2+3i) -> v1 c(3,1,TRUE,2+3i) ->> v2 print(v1) print(v2) 它產(chǎn)生以下結果 - 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i |
這些運算符用于特定目的,而不是一般的數(shù)學或邏輯計算。
運算符 | 描述 | 例 |
---|---|---|
: | 冒號運算符。 它為向量按順序創(chuàng)建一系列數(shù)字。 | v <- 2:8 print(v) 它產(chǎn)生以下結果 - 2 3 4 5 6 7 8 |
%in% | 此運算符用于標識元素是否屬于向量。 | v1 <- 8 v2 <- 12 t <- 1:10 print(v1 %in% t) print(v2 %in% t) 它產(chǎn)生以下結果 - TRUE FALSE |
%*% | 此運算符用于將矩陣與其轉置相乘。 | M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE) t = M %*% t(M) print(t) 它產(chǎn)生以下結果 - [,1] [,2] [1,] 65 82 [2,] 82 117 |
更多建議: