楼主: 水舞者
9912 6

[问答] which(x %in% table)与match(x, table)有什么区别 [推广有奖]

  • 0关注
  • 2粉丝

本科生

48%

还不是VIP/贵宾

-

威望
0
论坛币
42 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
2 点
经验
1489 点
帖子
67
精华
0
在线时间
62 小时
注册时间
2015-6-7
最后登录
2021-7-22

楼主
水舞者 发表于 2015-9-6 10:48:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我一直不大明白%in% 和match到底有什么区别,分别适用于什么情况?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Table Which Match ABLE ATCH

沙发
ryoeng 在职认证  发表于 2015-9-8 12:05:45

模拟一下

提示: 作者被禁止或删除 内容自动屏蔽

藤椅
ZhandaYang 发表于 2015-9-8 12:51:50
which(table %in% x) 跟 match(x, table) 是一样的,

关于%in%: 一种逻辑判断,a%in%b 表示a中元素是否在b中出现。
                 假设a <- c(3,9,6)   b <- c(1,2,3,4,5,6)
                 a %in% b 会得出 TRUE FALSE TRUE 的vector。
which()则是返回位置,即TRUE的位置,1,3
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
haichongzoro + 1 + 1 + 1 精彩帖子
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
waterhorse 发表于 2015-9-8 15:01:23
HAO HAO LEARN>>

报纸
oliyiyi 发表于 2015-9-8 16:10:24
使用match更有效率

地板
水舞者 发表于 2015-9-24 14:54:17
经过这几天写R,我突然就明白了,应该是这样的,比如说,有两个数组a和b,我想要取出a中所有在b中出现过的元素,那么就要用a[which(a %in% b)],也就说,处理对象是a。如果只是简单地想要a出现在b中的位置,则用match(a,b),则b[match(a,b)],处理对象是b。
已有 1 人评分信用等级 收起 理由
闹钟菌 + 2 精彩帖子

总评分: 信用等级 + 2   查看全部评分

7
水舞者 发表于 2015-10-15 16:24:36
然后, 我今天又发现他俩不一样的地方:对于a和b,a,a,如果我想要找出a在a,b,a中所有存在的index,就必须用which(c("b","a","a") %in% "a"),而不能match("a",c("a","b","a")),因为match只返回第一个匹配上的index。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 02:43