運(yùn)算符是一個(gè)符號(hào),它告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作。 R語(yǔ)言豐富的內(nèi)置運(yùn)算符,并提供以下類型的運(yùn)算符。
在R編程中有以下類型的運(yùn)算符 -
下表顯示了R語(yǔ)言支持的算術(shù)運(yùn)算符。運(yùn)算符對(duì)向量的每個(gè)元素進(jìn)行操作。
加法(+), 相加兩個(gè)向量。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v+t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 10.0 8.5 10.0
減法(-), 將一個(gè)向量減去另一個(gè)向量。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v-t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] -6.0 2.5 2.0
乘法(*), 將兩向量相乘。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v*t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 16.0 16.5 24.0
除法(/), 將第一個(gè)向量除以第二個(gè)向量。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v/t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 0.250000 1.833333 1.500000
求余(%%), 將第一個(gè)向量除以第二個(gè)向量得到余數(shù)。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v%%t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 2.0 2.5 2.0
求模數(shù)(%/%), 將第一個(gè)向量除以第二個(gè)向量得到模數(shù)。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v%/%t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 0 1 1
求指數(shù)冪(^), 將第一個(gè)向量除以第二個(gè)向量得到冪值。
示例代碼:
v <- c( 2,5.5,6);
t <- c(8, 3, 4);
print(v^t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 256.000 166.375 1296.000
下表顯示了R語(yǔ)言支持的關(guān)系運(yùn)算符。 將第一個(gè)向量的每個(gè)元素與第二向量中的相應(yīng)元素進(jìn)行比較。比較結(jié)果是一個(gè)布爾值。
大于(>) - 檢查第一個(gè)向量的每個(gè)元素是否大于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v>t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] FALSE TRUE FALSE FALSE
小于(<) - 檢查第一個(gè)向量的每個(gè)元素是否小于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v < t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE FALSE TRUE FALSE
等于(==) - 檢查第一個(gè)向量的每個(gè)元素是否等于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v == t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] FALSE FALSE FALSE TRUE
小于或等于(<=) - 檢查第一個(gè)向量的每個(gè)元素是否小于或等于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v<=t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE FALSE TRUE TRUE
大于或等于(>=) - 檢查第一個(gè)向量的每個(gè)元素是否大于或等于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v>=t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] FALSE TRUE FALSE TRUE
不等于(!=) - 檢查第一個(gè)向量的每個(gè)元素是否不等于第二個(gè)向量中的相應(yīng)元素。
示例代碼:
v <- c(2,5.5,6,9);
t <- c(8,2.5,14,9);
print(v!=t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE TRUE TRUE FALSE
下表顯示了R語(yǔ)言支持的邏輯運(yùn)算符。它僅適用于邏輯,數(shù)字或復(fù)合類型的向量。所有大于1
的數(shù)字都被認(rèn)為是邏輯值TRUE
。
將第一個(gè)向量的每個(gè)元素與第二個(gè)向量的相應(yīng)元素進(jìn)行比較。比較結(jié)果是一個(gè)布爾值。
邏輯與(&) - 它被稱為元素邏輯與運(yùn)算符。它將第一個(gè)向量的每個(gè)元素與第二個(gè)向量的相應(yīng)元素相結(jié)合,如果兩個(gè)元素都為真,則輸出為TRUE
。
示例代碼:
v <- c(3,1,TRUE,2+3i);
t <- c(4,1,FALSE,2+3i);
print(v&t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE TRUE FALSE TRUE
邏輯或(|) - 它被稱為元素邏輯或運(yùn)算符。它將第一個(gè)向量的每個(gè)元素與第二個(gè)向量的相應(yīng)元素相結(jié)合,如果兩個(gè)元素中有一個(gè)為真,則輸出為TRUE
。
示例代碼:
v <- c(3,0,TRUE,2+2i);
t <- c(4,0,FALSE,2+3i);
print(v|t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE FALSE TRUE TRUE
邏輯非(!) - 它被稱為元素邏輯非運(yùn)算符。獲取向量的每個(gè)元素并給出相反的邏輯值。
示例代碼:
v <- c(3,0,TRUE,2+2i);
print(!v);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] FALSE TRUE FALSE FALSE
邏輯運(yùn)算符&&
和||
僅考慮向量的第一個(gè)元素,并給出單個(gè)元素的向量作為輸出。
邏輯與運(yùn)算符(&&) - 取兩個(gè)向量的第一個(gè)元素,并且只有在兩個(gè)都為TRUE
時(shí)結(jié)果才為TRUE
值。
v <- c(3,0,TRUE,2+2i);
t <- c(1,3,TRUE,2+3i);
print(v&&t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE
邏輯或運(yùn)算符(||) - 取兩個(gè)向量的第一個(gè)元素,并且如果有一個(gè)為TRUE
時(shí),結(jié)果為TRUE
值。
v <- c(0,0,TRUE,2+2i);
t <- c(0,3,TRUE,2+3i);
print(v||t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] FALSE
這些運(yùn)算符用于向向量分配值。
<?
,<<?
和=
- 叫作左分配符。參考以下代碼 -
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);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[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);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
這些運(yùn)算符用于特定目的,而不是一般的數(shù)學(xué)或邏輯運(yùn)算。
冒號(hào)運(yùn)算符(:) - 它為向量創(chuàng)建一系列數(shù)字。參考以下代碼 -
v <- 2:8;
print(v);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] 2 3 4 5 6 7 8
成員運(yùn)算符(%in%) - 該運(yùn)算符用于識(shí)別元素是否屬于向量。參考以下代碼 -
v1 <- 8 ;
v2 <- 12;
t <- 1:10;
print(v1 %in% t) ;
print(v2 %in% t) ;
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1] TRUE
[1] FALSE
轉(zhuǎn)置相乘(%*%) - 該運(yùn)算符用于將矩陣與其轉(zhuǎn)置相乘。參考以下代碼 -
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE);
t = M %*% t(M);
print(t);
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[,1] [,2]
[1,] 65 82
[2,] 82 117