




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第R語言邏輯型運算的實現目錄一、邏輯型向量與比較運算二、邏輯運算三、邏輯運算函數
一、邏輯型向量與比較運算
邏輯型是R的基本數據類型之一,只有兩個值TRUE和FALSE,缺失時為NA。
邏輯值一般產生自比較,如
sele-(log10(15)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]FALSETRUE
c(1,3)%in%c(NA,3,4)
##[1]FALSETRUE
c(NA,3)%in%c(NA,3,4)
##[1]TRUETRUE
函數match(x,y)起到和x%in%y運算類似的作用,但是其返回結果不是找到與否,而是對x的每個元素,找到其在y中首次出現的下標,找不到時取缺失值,如
match(c(1,3),c(2,3,4,3))
返回:
二、邏輯運算
為了表達如x0而且x1,x0或者x1之類的復合比較,需要使用邏輯運算把兩個比較連接起來。邏輯運算符為,|和!,分別表示同時成立、兩者至少其一成立、條件的反面。比如,設age=3表示嬰兒,sex==女表示女性,
則age=3sex==女表示女嬰,
age=3|sex==女表示嬰兒或婦女,
!(age=3|sex==女)表示既非嬰兒也非婦女。
為了確定運算的先后次序可以用圓括號()指定。
用xor(x,y)表示x與y的異或運算,即值不相等時為真值,相等時為假值,有缺失值參加運算時為缺失值。
邏輯向量與邏輯標量之間的邏輯運算,兩個邏輯向量之間的邏輯運算規則遵從一般R向量間運算規則。
在右運算符是缺失值時,如果左運算符能夠確定結果真假,可以得到非缺失的結果。例如,TRUE|NA為TRUE,FALSENA為FALSE。
不能確定結果時返回NA,比如,TRUENA為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()可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市車庫抵押擔保合同模板
- 老師上課介紹課件
- 財務分析財務控制模型合同
- DJ音樂節特邀嘉賓聘用合同
- 企業文化標志設計及推廣實施合同
- 商務會議會務培訓與指導合同
- 村級三員考試題庫及答案
- 美術老師課件介紹
- 防雷安全管理制度(責任制)
- 危廢庫日常檢查記錄表
- 2023-2024學年福建省廈門市高二下學期期末質量檢測數學試題(解析版)
- 中醫藥艾灸課件視頻教學
- 2025至2030年中國液壓行業市場動態分析及發展趨向研判報告
- 2025年上海市中考語文真題試卷含答案
- 2025年高考數學全國二卷試題真題解讀及答案詳解
- 廣東省廣州市海珠區2024-2025學年八年級下學期期末 歷史自編練習試卷(含解析)
- 高?!笆逦濉卑l展規劃編制應著重考慮的關鍵任務
- 護理病歷質控標準
- 2025年小學五年級數學期末沖刺卷:數學基礎知識鞏固
- 電子煙工藝原理及生產流程培訓
- T/CQAP 3014-2024研究者發起的抗腫瘤體細胞臨床研究細胞制劑制備和質量控制規范
評論
0/150
提交評論