1. 程式人生 > >R: which(查詢位置)、%in% (是否存在)、ifelse(判斷是否):

R: which(查詢位置)、%in% (是否存在)、ifelse(判斷是否):

存在 mar 查詢位置 else p s 變量 != spa 8.4

###################################################

問題:ifelsewhich%in% 18.4.27

解決方案:

> x <- c(1,1,1,0,0,1,1)

# which:用法which(test)。返回test為真值的位置(指針)。舉例如下:

> which(x != 1) #返回x中不等於1的變量值得位置

[1] 4 5

> which(c(T,F,T)) #返回c(T,F,T)中為TURE值的位置。

[1] 1 3

# %in%:用法 a %in% table。。 a值是否包含於table中,為真輸出TURE,否者輸出FALSE。。例如

> x %in% 1

[1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE

> x %in% c(1, 0)

[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE

> x %in% c(1, 2)

[1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE

#ifelse : 返回一個與判斷向量等長的向量。

ifelse(test, yes, no) #test為真,輸出yes值,否則輸出no值。 舉例如下:

> ifelse(x != 1, 1, 0) #若果x的值不等於1,輸出1,否則輸出0; 這可用於布爾向量互換值。

[1] 0 0 0 1 1 0 0

討論擴展:

ifelse(x %in% 1, ‘yes‘, ‘no‘) #若x的值包含在1裏面,輸出yes,否者輸出no

#[1] "yes" "yes" "yes" "no" "no" "yes" "yes"

另請參閱:

R: which(查詢位置)、%in% (是否存在)、ifelse(判斷是否):