- R 教程
- R - 首頁
- R - 概述
- R - 環境設定
- R - 基本語法
- R - 資料型別
- R - 變數
- R - 運算子
- R - 決策
- R - 迴圈
- R - 函式
- R - 字串
- R - 向量
- R - 列表
- R - 矩陣
- R - 陣列
- R - 因子
- R - 資料框
- R - 包
- R - 資料重塑
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 |
廣告