在R語(yǔ)言中,ifelse()函數(shù)可以認(rèn)為是緊湊的if...else結(jié)構(gòu)。
其基本語(yǔ)法格式如下:
if(con,statement1,statement2)
con是邏輯條件,當(dāng)邏輯條件的值為TRUE時(shí),則輸出statement1的值,否則輸出statement2的值。
舉例1:
x<-3
y<-ifelse(x>0, 2*x-1, 2*x) #含義是如果x是個(gè)大于0的值,則輸出值為2*x-1的計(jì)算值,否則為2*x的計(jì)算值。
舉例2:
x<-c(1,0,1,0,1,1,0,0)
y<-ifelse(x != 0, 0, 1) #如果向量x中的元素值不是0的話,就輸出0,否則輸出1
舉例3:
x<-c(1,NA,NA,12,34)
y<-ifelse(is.NA(x),0,x) #可以處理NA值,如果x中有NA值,則使用0來(lái)代替
舉例4:
ifelse可以嵌套使用
x<-c(3,10,0,-1,-10)
y<-ifelse(x>0, 2*x-1, ifelse(x==0,0,3*x-10))
執(zhí)行結(jié)果如下圖所示:
新聞熱點(diǎn)
疑難解答