<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
邏輯型是 R 的基本資料型別之一,只有兩個值 TRUE 和 FALSE, 缺失時為 NA。
邏輯值一般產生自比較,如
sele <- (log10(15) < 2); print(sele)
返回:
向量比較結果為邏輯型向量。如
c(1, 3, 5) > 2
返回:
(1:4) >= (4:1)
返回:
與 NA 比較產生 NA,如
c(1, NA, 3) > 2
返回:
NA == NA
返回:
為了判斷向量每個元素是否 NA,用 is.na() 函數,如
is.na(c(1, NA, 3) > 2)
返回:
用 is.finite() 判斷向量每個元素是否 Inf 值。
is.finite(c(1,Inf,8))
返回:
比較運運算元包括 :< <= > >= == != %in%
分別表示小於、小於等於、大於、大於等於、等於、不等於、屬於。要注意等於 比較用了兩個等號。
%in% 是比較特殊的比較, x %in% y 的運算把向量 y 看成集合,運算結果是一個邏輯型向量,第 i 個元素的值為 x 的第 i 元素是否屬於 y 的邏輯型值。如
c(1,3) %in% c(2,3,4)
返回:
c(NA,3) %in% c(2,3,4) ## [1] FALSE TRUE c(1,3) %in% c(NA, 3, 4) ## [1] FALSE TRUE c(NA,3) %in% c(NA, 3, 4) ## [1] TRUE TRUE
函數 match(x, y) 起到和 x %in% y 運算類似的作用,但是其返回結果不是找到與否,而是對 x 的每個元素,找到其在 y 中首次出現的下標,找不到時取缺失值,如
match(c(1, 3), c(2,3,4,3))
返回:
為了表達如 “ x > 0 而且 x < 1”, “ x ≤ 0 或者 x ≥ 1” 之類的複合比較,需要使用邏輯運算把兩個比較連線起來。邏輯運運算元為 & , | 和 ! , 分別表示 “ 同時成 立” 、 “ 兩者至少其一成立 ” 、 “ 條件的反面 ” 。比如,設 age<=3 表示嬰兒, sex==' 女' 表示女性,
則 age<=3 & sex==' 女 ' 表示女嬰 ,
age<=3 | sex==' 女 '表示嬰兒或婦女,
!(age<=3 | sex==' 女 ') 表示既非嬰兒也非婦女。
為了確定運算的先後次序可以用圓括號 () 指定。
用 xor(x, y) 表示 x 與 y 的互斥或運算,即值不相等時為真值,相等時為假值,有缺失值參加運算時為缺失值。
邏輯向量與邏輯標量之間的邏輯運算,兩個邏輯向量之間的邏輯運算規則遵從一般 R 向量間運算規則。
在右運運算元是缺失值時,如果左運運算元能夠確定結果真假,可以得到非缺失的結果。例如,TRUE | NA 為 TRUE , FALSE & NA 為 FALSE 。
不能確定結果時返回 NA,比如, TRUE & NA 為 NA , FALSE | NA 為 NA 。
&& 和 || 分別為短路的標量邏輯與和短路的標量邏輯或,僅對兩個標量進行運算,如果有向量也僅使用第一個元素。一般用在 if 語句、 while 語句中,且只要第一個比較已經決定最終結果就不計算第二個比較。例如
if(TRUE || sqrt(-1)>0) next
由於其中的 sqrt(-1) 部分不會執行,結果返回:
因為 R 中比較與邏輯運算都支援向量之間、向量與標量之間的運算,所以在需要一個標量結果時要特別注意,後面講到的 if 結構、 while 結構都需要邏輯標量而且不能是缺失值。這時,應該對缺失值結果單獨考慮。
若 cond 是邏輯向量,用 all(cond) 測試 cond 的所有元素為真;用 any(cond) 測試 cond 至少一個元素為真。 cond 中允許有缺失值,結果可能為缺失值。如
c(1, NA, 3) > 2 all(c(1, NA, 3) > 2) any(c(1, NA, 3) > 2) all(NA) any(NA)
返回:
函數 which() 返回真值對應的所有下標,如
which(c(FALSE, TRUE, TRUE, FALSE, NA)) which((11:15) > 12)
返回:
函數 identical(x,y) 比較兩個 R 物件 x 與 y 的內容是否完全相同,結果只會取標量 TRUE 與 FALSE 兩種。如
identical(c(1,2,3), c(1,2,NA)) identical(c(1L,2L,3L), c(1,2,3))
因為前一向量是整數型,後一向量是實數型,結果返回:
函數 all.equal() 與 identical() 類似,但是在比較數值型時不區分整數型與實數型,而且相同時返回標量 TRUE ,但是不同時會返回一個說明有何不同的字串。如
all.equal(c(1,2,3), c(1,2,NA)) all.equal(c(1L,2L,3L), c(1,2,3))
返回:
函數 duplicated() 返回每個元素是否為重複值的結果,如:
duplicated(c(1,2,1,3,NA,4,NA))
返回:
用函數 unique() 可以返回去掉重複值的結果,如
unique(c(1,2,1,3,NA,4,NA))
返回:
到此這篇關於R語言邏輯型運算的實現的文章就介紹到這了,更多相關R語言邏輯型運算內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45