全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7984 5
2014-08-01
我有两个数据框,需要实现类似vlookup函数的功能,在data2$x2中查找data1$x1对应的值,并将对应的data2$x3的值形成一个新的列,添加到data1上,请问怎么弄呢?
谢谢!在线等~

data1 <- data.frame(x1=c(3,5,7))
data2 <- data.frame(x2=c(1:10),x3=c("a","b","c","d","e","f","g","h","i","j"))




二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-1 10:56:42
如图所示
附件列表
无标题.png

原图尺寸 2.33 KB

无标题.png

二维码

扫码加我 拉你入群

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

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

2014-8-1 11:55:17
不好意思,应该是这样:
> data1$x3<-data2$x3[data2$x2%in%data1$x1]
> data1
  x1 x3
1  3  c
2  5  e
3  7  g
二维码

扫码加我 拉你入群

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

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

2014-8-1 13:14:28
mymei 发表于 2014-8-1 11:55
不好意思,应该是这样:
> data1$x3 data1
  x1 x3
非常感谢啊 ,我用上面的那一个好像也可以出结果.但是不知道为什么你说是错的下面这个match %in%原来这样用啊。



二维码

扫码加我 拉你入群

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

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

2014-8-1 13:25:54
明建川 发表于 2014-8-1 13:14
非常感谢啊 ,我用上面的那一个好像也可以出结果.但是不知道为什么你说是错的下面这个match %in%原来这样 ...
我也不知道为什么乱码。还是放图吧
第一个结果一样是因为x2正好是从1到10。
附件列表
无标题.png

原图尺寸 1.95 KB

无标题.png

二维码

扫码加我 拉你入群

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

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

2014-8-1 13:27:27
mymei 发表于 2014-8-1 13:25
我也不知道为什么乱码。还是放图吧
第一个结果一样是因为x2正好是从1到10。
嘿嘿,谢谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群