全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2745 8
2018-05-11
各位,请教大家一个问题:
已知表1:
xpre
1 0.1
2 0.2
3 0.3
4 0.4
表2:
x_1 pre_1x2 pre_2
1 2
4 4
3 1
1 2
2 3


根据表1,将表2中变量x_1与x_2的值与表1中变量x对应,填充上对应pre的值。
如何操作呢?

我在想用merge来做,但是,表2中值的顺序会变化,因为merge结果默认按照从小到大的顺序输出的,我需要按照表2的顺序输出结果。



二维码

扫码加我 拉你入群

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

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

全部回复
2018-5-11 17:35:20
复制代码
二维码

扫码加我 拉你入群

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

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

2018-5-11 17:36:36
library(dplyr)
library(sqldf)
data2_v2=cbind(data2,order2=1:nrow(data2))

data3=sqldf("select t1.x_1,t2.pre as pre_1
             t1.x2,t3.pre as pre_2
            from data2_v2 t1 left join data1 t2 on t1.x_1=t2.x
            left join data1 t3 on t1.x2=t3.x")%>%arrange(order2)%>%select(-order2)

二维码

扫码加我 拉你入群

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

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

2018-5-13 23:54:49
复制代码
二维码

扫码加我 拉你入群

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

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

2018-5-13 23:57:54
把你的表2改造下,处理完了再改回来。表2不符合表设计范式。
二维码

扫码加我 拉你入群

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

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

2018-5-14 14:10:58
屋檐滴语 发表于 2018-5-13 23:54
非常感谢!代码很好理解,只用dplyr包就可解决。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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