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

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

问题: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"

另请参阅:

猜你喜欢

转载自www.cnblogs.com/li-20151130/p/9028771.html