iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

新手 R 語言學習紀錄系列 第 11

Day 11- R語言 更多邏輯符號

  • 分享至 

  • xImage
  •  

Day 11- 更多邏輯指令
(前言:那個,由於本人不是專業的程式設計師,寫的內容可能不是很正確,還請大家多多包含/指教 :D)

雖然前面已經提到很多R的邏輯運算了,還是有一些邏輯運算的符號、函數還沒有被提到,今天就當複習+學習新的邏輯運算吧

複習:前面已經提到的邏輯概念有:TRUE, FALSE, NA, =(等於), ==(確切等於), !=(不等於), =>(大於等於), <=(小於等於), is.na(是否為NA), !is.na(is not NA)

今天要學習的邏輯符號有:&, &&, |, ||, isTRUE, isFALSE, xor, which, any, all

&在R裡面代表的是AND,如果&兩邊的陳述皆為TRUE的話,輸出結果為TRUE,若不相同則為FALSE。
&&就有點不一樣了,在&&前後只有一個邏輯值的算式中,&&功用和&差不多,但是如果&&的前後有一個邏輯向量的話,&&會自動採用向量的第一個邏輯值當作整個邏輯向量的結果。
https://ithelp.ithome.com.tw/upload/images/20190927/201208876ToORt3fgC.png

| (垂直條)代表的是or,其運作的原理跟and 很像,只是把邏輯中的and換成or而已,|| 也是一樣,只採用向量中的第一個值當作整串向量的結果進行運算。

另外,邏輯符號的運算可以和數字的四則運算混在一起,例如: 5 + 8 > 5 || 6 != 3 && 5 > 5.3,輸出結果為TRUE。

當我們要檢驗一個條件時,可以用isTRUEisFALSE檢驗。

另外,xor 函數是用來檢驗兩個引數之間的邏輯關係,如果兩個引數結果皆為TRUEFALSExor的輸出結果為FALSE,若引數一個為TRUE一個為FALSExor的輸出結果為TRUE。

最後,其他用來檢驗引數敘述的正確性的函數還有:which, any, all。例:有一個向量kirbvillage <- c(4,5,2,34,4,1,3,4,8,2,0,3,8)
which 是用來篩選一個向量(或變數)中符合引數條件的函數。例:which(kirbvilage > 5)輸出結果為:4,9,13
any是用來檢查一個向量(或變數)中符合引數條件的函數,若有一個(或多於一個)檢查結果為TRUE,則結果也會是TRUE。例:any(kirbvillage > 4)結果為TRUE,因為向量中有一個(以上)的數大於4
all 一樣也是用來篩選一個向量(或變數)中符合引數條件的函數,但是與any不同,使用all函數時,只有引數條件與檢查對象的條件吻合時,才會出現TRUE。例:all(kirbvillage < 2)結果為FALSE,因為不是每個向量中的數都小於2

今天的邏輯運算就差不多到這邊吧:)
明天要學的是自定義函數


上一篇
Day 10- R語言 矩陣(matrices)、data frame
下一篇
Day 12- R語言 自定義函數
系列文
新手 R 語言學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言