楼主: 水舞者
1816 5

[问答] index匹配问题 [推广有奖]

  • 0关注
  • 2粉丝

本科生

48%

还不是VIP/贵宾

-

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

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
举个栗子:
> a<-c("a","b","c")
> b<-data.frame(m=c("c","a","b"),n=c(3,1,2))
> a
[1] "a" "b" "c"

> b
  m n
1 c 3
2 a 1
3 b 2

如何使得b的第一列按照a的顺序将b输出呢?也就是:
a 1
b 2
c 3
我想了一些办法,但是感觉都不是特别简便,绕来绕去很容易晕掉,所以想问问高手有没有比较简单的写法呢?谢谢啦&#128523;
二维码

扫码加我 拉你入群

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

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

关键词:Index IND 有没有 如何

本帖被以下文库推荐

沙发
水舞者 发表于 2016-9-5 16:45:22 |只看作者 |坛友微信交流群
额为啥没有人回答/(ㄒoㄒ)/~~
我写一下我的代码吧:
  1. > b[match(a[which(a %in% b[,1])],b[,1]),]
  2.   m n
  3. 2 a 1
  4. 3 b 2
  5. 1 c 3
复制代码
已有 1 人评分经验 论坛币 收起 理由
李会超 + 60 + 5 精彩帖子

总评分: 经验 + 60  论坛币 + 5   查看全部评分

使用道具

藤椅
水舞者 发表于 2016-9-5 16:57:28 |只看作者 |坛友微信交流群
好吧我又简化了一下。。。。
  1. b[match(a,b[,1]),]
复制代码

无语。。。
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 鼓励积极发帖讨论

总评分: 论坛币 + 10   查看全部评分

使用道具

板凳
laikuiwei 发表于 2018-5-8 20:33:37 |只看作者 |坛友微信交流群
哈哈 请问你说的匹配是什么意思呢?是索引么

使用道具

报纸
中国梦丶 发表于 2018-5-10 11:13:18 来自手机 |只看作者 |坛友微信交流群
水舞者 发表于 2016-9-5 16:04
举个栗子:
&gt; a b a
[1] &quot;a&quot; &quot;b&quot; &quot;c&quot;
用match函数,具体操作去看这个函数的帮助

使用道具

地板
rainningpoet 发表于 2018-5-10 11:23:50 |只看作者 |坛友微信交流群
library(dplyr)

a<-c("a","b","c")
a2=data.frame(m=a,v1=1:length(a))
b<-data.frame(m=c("c","a","b"),n=c(3,1,2))

c=b%>%left_join(a2)%>%arrange(v1)%>%select(v1)
c

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 05:00