R語言運算符
運算符是一個符號,它告訴編譯器執行特定的數學或邏輯操作。 R語言豐富的內置運算符,並提供以下類型的運算符。
運算符類型
在R編程中有以下類型的運算符 -
- 算術運算符
- 關係運算符
- 邏輯運算符
- 賦值運算符
- 其他運算符
1.算術運算符
下表顯示了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
2. 關係運算符
下表顯示了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
3. 邏輯運算符
下表顯示了R語言支持的邏輯運算符。它僅適用於邏輯,數字或複合類型的向量。所有大於1
的數字都被認爲是邏輯值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
。
示例代碼: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
4. 賦值運算符
這些運算符用於向向量分配值。
<−
,<<−
和=
- 叫作左分配符。參考以下代碼 -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
5. 其他運算符
這些運算符用於特定目的,而不是一般的數學或邏輯運算。
冒號運算符(:) - 它爲向量創建一系列數字。參考以下代碼 -
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