楼主: landandan1
2149 2

[问答] 如何用R语言根据dataframe其中一列数据,对其他数据进行筛选和分类? [推广有奖]

  • 0关注
  • 0粉丝

本科生

23%

还不是VIP/贵宾

-

威望
0
论坛币
315 个
通用积分
14.2400
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
7466 点
帖子
26
精华
0
在线时间
104 小时
注册时间
2018-9-27
最后登录
2021-5-26

5论坛币
如题,每个序列号(第一列)都有好几组不同的数据,在R中如何根据序列号分成几个组,第二列的内容作为其中的参数,然后筛选出最近的日期?在选出需要的数据之后,如何才能让后两列数据一起被选中?
另外,还需要对第3列的数据根据同一序列(第一列)进行加总,如何才能实现呢?

这些筛选后的数据,如何才能提取出来,生成在一个新的dataframe呢?

R小白,希望可以有大佬指点一下!如果我的思路过于绕,也希望可以请教一下更简单的处理方式。谢谢!

这是数据:

2

20190112

1

12

2

20190112

5

77

3

20190102

2

20.76

3

20190330

2

20.76

3

20190402

2

19.54

3

20191115

5

57.45

3

20191125

4

20.96

3

20200528

1

16.99

4

20190101

2

29.33

4

20190118

2

29.73

4

20190802

1

14.96

4

20191212

2

26.48


这是我的想法:
排序:2                      3
        20190112         20190102
        20190112         20190330

                               20190402
                               20191115
                               20191125
                               20200528

选出最近的日期,如:2的是20190112   5   77
                                3的是20200528   1   16.99

根据序列号,第3列的加总,如:2 对应的是6
                                              3 对应的是16

最佳答案

szxship 查看完整内容

library(rvest) library(data.table) url = "https://bbs.pinggu.org/thread-10494277-1-1.html" wb = read_html(url) dat = html_table(wb,fill = T)[[5]] %>% as.data.table() id = dat[,.(X2 == max(X2)),by = X1]$V1 dat[,.(max(X2),sum(X3),X4),by = X1]
关键词:Dataframe Frame Data Fram R语言 R语言 分析 R语言分析 代码
沙发
szxship 发表于 2021-3-17 09:23:49 |只看作者 |坛友微信交流群
此帖仅作者可见

使用道具

藤椅
tuxingwen 学生认证  发表于 2021-3-18 11:10:30 |只看作者 |坛友微信交流群
此帖仅作者可见

使用道具

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

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

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

GMT+8, 2024-5-26 21:27