###################################################
问题:ifelse、which、%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"
另请参阅:
原文地址:https://www.cnblogs.com/li-20151130/p/9028771.html