R中ifelse、which、%in%的用法 in which的用法

R中ifelse、which、%in%的用法 in which的用法
在R学习过程中,遇到了ifelse、which、%in%,下面分别举例,说明他们的用法。1、ifelseifelse(test, yes, no)test为真,输出yes值,否则输出no值。举例如下:> x <- c(1,1,1,0,0,1,1)> ifelse(x != 1, 1, 0) #若果x的值不等于1,输出1,否则输出0[1] 0 0 0 1 1 0 0
2、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> which(c(1,0,1)) #只对T, F做判断。Error in which(c(1, 0, 1)) : argument to 'which' is notlogical
3、%in%用法 a %in% tablea值是否包含于table中,为真输出TURE,否者输出FALSE例如> x %in% 1[1] TRUE TRUETRUE FALSE FALSE TRUETRUE> x %in% c(1, 0)[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE> x %in% c(1, 2)[1] TRUE TRUETRUE FALSE FALSE TRUETRUE

联合使用> ifelse(x %in% 1, 1, 0) #若x的值包含在1里面,输出1,否者输出0[1] 1 1 1 0 0 1 1> ifelse(x %in% 1, 'yes', 'no')#若x的值包含在1里面,输出yes,否者输出no[1] "yes" "yes" "yes" "no" "no""yes" "yes"> which(x %in% 1) 输出x包含在1中值的位置[1] 1 2 3 6 7> y <- c(2, 1, 3, 4)> z <- c(1, 4)> ifelse(y %in% z, which(y==z), 0 )##若y的值包含在z里面,输出y==z的位置,否者输出0[1] 0 2 0 4> ifelse(y %in% z, which(y==z), 0 )##若y的值包含在z里面,输出y==z的位置,否者输出0, #此例中没有找到y==z的值, 输出为NA。[1] NA 0 0 NA> ifelse(y %in% z, 1, 0 )[1] 1 0 0 1

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/239597.html

更多阅读

英语词组 表示“最终”、“最后”的常用短语 词组和短语

【英语词组】表示“最终”、“最后”的常用短语佳中in theend主要有两个用法。1)与将来时态连用,表示未来最终的状态或期待的结果。2)指经过许多变化、困难或捉摸不定的情况之后“最后”,“终于”才出现的结果,多用于过去时态。这

声明:《R中ifelse、which、%in%的用法 in which的用法》为网友七级心震分享!如侵犯到您的合法权益请联系我们删除