R语言————%in%

a<-c(3,6,4)
b<-c(1,3,4,5,7,8)
a%in%b              % a是否在b里面,出来的是逻辑值true or false。
which(a%in%b)      %a里面的哪些值,第几个值,在b里面。
a[which(a%in%b)]   %取出a中所有在b中出现过的元素
match(a,b)    %想要看看a出现在b中的哪个位置,指的是b的位置
> b[match(a,b)]    %对应的b的那个位置上的b的值是多少

a%in%b %结果显示
[1] TRUE FALSE TRUE
which(a%in%b) %结果显示
[1] 1 3
a[which(a%in%b)] %结果显示
[1] 3 4
match(a,b) %结果显示
[1] 2 NA 3
b[match(a,b)] %结果显示
[1] 3 NA 4

**总结:**有两个数组a和b,我想要取出a中所有在b中出现过的元素,那么就要用a[which(a %in% b)],也就说,处理对象是a。如果只是简单地想要a出现在b中的位置,则用match(a,b),则b[match(a,b)],处理对象是b。

发布了65 篇原创文章 · 获赞 4 · 访问量 2399

猜你喜欢

转载自blog.csdn.net/babychrislee3/article/details/103548318