鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ R語(yǔ)言運(yùn)算符
R語(yǔ)言列表
R語(yǔ)言隨機(jī)森林
R語(yǔ)言矩陣
R語(yǔ)言邏輯回歸
R語(yǔ)言數(shù)據(jù)幀
R語(yǔ)言數(shù)據(jù)重塑
R語(yǔ)言概述
R語(yǔ)言包
R語(yǔ)言字符串
R語(yǔ)言CSV文件
R語(yǔ)言運(yùn)算符
為什么使用R語(yǔ)言做統(tǒng)計(jì)?
R語(yǔ)言Web數(shù)據(jù)
R語(yǔ)言二進(jìn)制文件
R語(yǔ)言XML文件
R語(yǔ)言JSON文件
R語(yǔ)言因子
R語(yǔ)言容易學(xué)習(xí)嗎?
R語(yǔ)言基礎(chǔ)語(yǔ)法
R語(yǔ)言向量
R語(yǔ)言教程
R語(yǔ)言正態(tài)分布
R語(yǔ)言平均值,中位數(shù)和眾數(shù)
R語(yǔ)言變量
R語(yǔ)言條形圖
R語(yǔ)言決策樹(shù)
R語(yǔ)言開(kāi)發(fā)環(huán)境安裝配置
R語(yǔ)言數(shù)組
R語(yǔ)言數(shù)據(jù)類型
R語(yǔ)言非線性最小二乘法
R語(yǔ)言直方圖
R語(yǔ)言卡方檢驗(yàn)
R語(yǔ)言泊松回歸
R語(yǔ)言決策結(jié)構(gòu)
R語(yǔ)言盒形圖(箱形圖)
R語(yǔ)言協(xié)方差分析
R語(yǔ)言二項(xiàng)分布
R語(yǔ)言餅狀圖
R語(yǔ)言循環(huán)
R語(yǔ)言散點(diǎn)圖
R語(yǔ)言線性回歸
R語(yǔ)言時(shí)間序列分析
R語(yǔ)言線形圖
R語(yǔ)言在現(xiàn)實(shí)中的應(yīng)用
R語(yǔ)言生存分析
R語(yǔ)言多元(多重)回歸
R語(yǔ)言函數(shù)
R語(yǔ)言Excel文件
R語(yǔ)言連接數(shù)據(jù)庫(kù)(MySQL)

R語(yǔ)言運(yùn)算符

運(yùn)算符是一個(gè)符號(hào),它告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作。 R語(yǔ)言豐富的內(nèi)置運(yùn)算符,并提供以下類型的運(yùn)算符。

運(yùn)算符類型

R編程中有以下類型的運(yùn)算符 -

  • 算術(shù)運(yùn)算符
  • 關(guān)系運(yùn)算符
  • 邏輯運(yùn)算符
  • 賦值運(yùn)算符
  • 其他運(yùn)算符

1.算術(shù)運(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
    

2. 關(guān)系運(yùn)算符

下表顯示了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
    

3. 邏輯運(yùn)算符

下表顯示了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
    

4. 賦值運(yùn)算符

這些運(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
    

5. 其他運(yùn)算符

這些運(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