请选择 进入手机版 | 继续访问电脑版
楼主: landandan1
3353 4

[问答] 请问R语言如何根据dataframe中其中一列数据分类并筛选? [推广有奖]

  • 0关注
  • 0粉丝

本科生

23%

还不是VIP/贵宾

-

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

landandan1 发表于 2021-3-17 09:14:09 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,每个序列号(第一列)都有好几组不同的数据,在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
二维码

扫码加我 拉你入群

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

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

关键词:Dataframe Frame 数据分类 Data Fram R语言 筛选 R分析

1484175529 发表于 2021-6-16 22:38:43 |显示全部楼层 |坛友微信交流群
我也有同样的问题,找不到答案,题主最后怎么解决的呀,感谢!我打算用excel来了

使用道具

  1. mydata <-
  2.   structure(list(
  3.     X1 = c(2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4),
  4.     X2 = c(
  5.       20190112,
  6.       20190112,
  7.       20190102,
  8.       20190330,
  9.       20190402,
  10.       20191115,
  11.       20191125,
  12.       20200528,
  13.       20190101,
  14.       20190118,
  15.       20190802,
  16.       20191212
  17.     ),
  18.     X3 = c(1, 5, 2, 2, 2,
  19.            5, 4, 1, 2, 2, 1, 2),
  20.     X4 = c(
  21.       12,
  22.       77,
  23.       20.76,
  24.       20.76,
  25.       19.54,
  26.       57.45,
  27.       20.96,
  28.       16.99,
  29.       29.33,
  30.       29.73,
  31.       14.96,
  32.       26.48
  33.     )
  34.   ),
  35.   class = "data.frame",
  36.   row.names = c(NA,
  37.                 -12L))

  38. library(dplyr)

  39. mydata %>%
  40.   group_by(X1) %>%
  41.   summarise(X2 = X2,
  42.             X3 = sum(X3),
  43.             X4 = X4) %>%
  44.   filter(X2 == max(X2))
复制代码

使用道具

太极无极 在职认证  发表于 2021-6-17 20:42:52 |显示全部楼层 |坛友微信交流群
楼主厉害

使用道具

ifuhuo 学生认证  发表于 2021-6-22 08:00:23 来自手机 |显示全部楼层 |坛友微信交流群
landandan1 发表于 2021-3-17 09:14
如题,每个序列号(第一列)都有好几组不同的数据,在R中如何根据序列号分成几个组,第二列的内容作为其中的 ...
如果有sql基础,就简单的多

使用道具

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

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

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

GMT+8, 2024-4-17 02:24