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。
所述第一向量的每個元素與所述第二向量的相應元素進行比較。比較的結果是一個布爾值。
運算符 | 描述 | 示例 |
---|---|---|
& | 這就是所謂的元素邏輯AND運算符。它結合與第二向量的相應元素的第一向量的每個元素,如果這兩個元件都為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 |
賦值運算符
這些操作符是用來分配值到向量。
運算符 | 描述 | 示例 |
---|---|---|
<- 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)它產生以下結果: [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 |
-> or ->> |
叫做右分配 |
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
|