R - 運算子



運算子是告訴編譯器執行特定數學或邏輯操作的符號。R 語言富含內建運算子,並提供以下型別的運算子。

運算子型別

R 程式語言中包含以下型別的運算子:

  • 算術運算子
  • 關係運算符
  • 邏輯運算子
  • 賦值運算子
  • 雜項運算子

算術運算子

下表顯示了 R 語言支援的算術運算子。這些運算子作用於向量的每個元素。

運算子 描述 示例
+ 將兩個向量相加
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

它產生以下結果:

[1] 10.0  8.5  10.0
減號 從第一個向量中減去第二個向量
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

它產生以下結果:

[1] -6.0  2.5  2.0
* 將兩個向量相乘
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

它產生以下結果:

[1] 16.0 16.5 24.0
/ 將第一個向量除以第二個向量
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

當我們執行上述程式碼時,它會產生以下結果:

[1] 0.250000 1.833333 1.500000
%% 給出第一個向量除以第二個向量的餘數
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

它產生以下結果:

[1] 2.0 2.5 2.0
%/% 第一個向量除以第二個向量的結果(商)
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

它產生以下結果:

[1] 0 1 1
^ 第一個向量乘以第二個向量的指數
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

它產生以下結果:

[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)

它產生以下結果:

[1] FALSE  TRUE FALSE FALSE
< 檢查第一個向量的每個元素是否小於第二個向量的對應元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

它產生以下結果:

[1]  TRUE FALSE  TRUE FALSE
== 檢查第一個向量的每個元素是否等於第二個向量的對應元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

它產生以下結果:

[1] FALSE FALSE FALSE  TRUE
<= 檢查第一個向量的每個元素是否小於或等於第二個向量的對應元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

它產生以下結果:

[1]  TRUE FALSE  TRUE  TRUE
>= 檢查第一個向量的每個元素是否大於或等於第二個向量的對應元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

它產生以下結果:

[1] FALSE  TRUE FALSE  TRUE
!= 檢查第一個向量的每個元素是否不等於第二個向量的對應元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

它產生以下結果:

[1]  TRUE  TRUE  TRUE FALSE

邏輯運算子

下表顯示了 R 語言支援的邏輯運算子。它僅適用於邏輯型、數值型或複數型的向量。所有大於 1 的數字都被視為邏輯值 TRUE。

第一個向量的每個元素都與第二個向量的對應元素進行比較。比較的結果是布林值。

運算子 描述 示例
& 稱為逐元素邏輯與運算子。它將第一個向量的每個元素與第二個向量的對應元素組合,如果兩個元素都為 TRUE,則輸出 TRUE。
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

它產生以下結果:

[1]  TRUE  TRUE FALSE  TRUE
| 稱為逐元素邏輯或運算子。它將第一個向量的每個元素與第二個向量的對應元素組合,如果其中一個元素為 TRUE,則輸出 TRUE。
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

它產生以下結果:

[1]  TRUE FALSE  TRUE  TRUE
! 稱為邏輯非運算子。獲取向量的每個元素並給出相反的邏輯值。
v <- c(3,0,TRUE,2+2i)
print(!v)

它產生以下結果:

[1] FALSE  TRUE FALSE FALSE

邏輯運算子 && 和 || 僅考慮向量的第一個元素,並輸出單個元素的向量。

運算子 描述 示例
&& 稱為邏輯與運算子。獲取兩個向量的第一個元素,並且只有當兩者都為 TRUE 時才輸出 TRUE。
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

它產生以下結果:

[1] TRUE
|| 稱為邏輯或運算子。獲取兩個向量的第一個元素,並且如果其中一個為 TRUE,則輸出 TRUE。
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

它產生以下結果:

[1] FALSE

賦值運算子

這些運算子用於為向量賦值。

運算子 描述 示例

<−

=

<<−

稱為左賦值
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)

它產生以下結果:

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

->

->>

稱為右賦值
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

它產生以下結果:

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

雜項運算子

這些運算子用於特定目的,而不是一般的數學或邏輯計算。

運算子 描述 示例
: 冒號運算子。它為向量建立一系列連續的數字。
v <- 2:8
print(v) 

它產生以下結果:

[1] 2 3 4 5 6 7 8
%in% 此運算子用於識別元素是否屬於某個向量。
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t) 

它產生以下結果:

[1] TRUE
[1] FALSE
%*% 此運算子用於將矩陣與其轉置相乘。
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

它產生以下結果:

      [,1] [,2]
[1,]   65   82
[2,]   82  117
廣告

© . All rights reserved.