楼主: wx2123
4284 1

[问答] 问一个R数据处理的问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

69%

还不是VIP/贵宾

-

威望
0
论坛币
5630 个
通用积分
221.0577
学术水平
1 点
热心指数
5 点
信用等级
0 点
经验
3111 点
帖子
93
精华
0
在线时间
191 小时
注册时间
2015-9-10
最后登录
2024-11-2

楼主
wx2123 在职认证  发表于 2022-2-23 06:26:40 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

有两表格df1和df2。

Df1里包括列id, t,s

Df2里包括列id, p


需要把df1里面的s列,按照t和p的对应关系,放到df2里面去,产生df3。举例来说,如果df2里面id = 1, p = 0,那么df3中对应的s就是15.


我用了R语言里面righ_join()

df3 <- right_join(df1, df2, by = c("id" = "id", "t" = "p"))

df3


结果基本上是我想要的。但是有个现象:第5行和第6行的顺序颠倒了。在df2中,第5p = 2, 第6p = 1。而df3把它们的顺序对调了。这个本身并没有错,只是R帮我排序了。

有没有什么办法,让这两行的顺序不变呢?也就是说,在df3中,第5t = 2s = 77, p2 = 2。第6t = 1, s = 66, p2 = 1


二维码

扫码加我 拉你入群

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

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

关键词:数据处理 join 举例来说 对应关系 df2

沙发
wx2123 在职认证  发表于 2022-2-23 06:29:02 |只看作者 |坛友微信交流群
  1. # 我的代码--------------------------------
  2. library(tidyverse)
  3. id <- c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
  4. t  <- c(0,1,2,3,4,5,6,0,1,2,3,4,5,6)
  5. s  <- c(15,66,77,80,97,26,15,4,8,3,5,45,85,35)

  6. df1 <- data.frame(id,t,s)


  7. id <- c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
  8. p  <- c(0,0,1,1,2,1,2,0,0,1,1,2,1,2)

  9. df2 <- data.frame(id,p)
  10. df2 <- df2 %>% mutate( p2 = p)

  11. df3 <- right_join(df1, df2, by = c("id" = "id", "t" = "p"))
  12. df3
复制代码

使用道具

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

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

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

GMT+8, 2024-11-10 10:27