楼主: 5752
1325 5

[问答] 筛选连续数值的行 [推广有奖]

  • 1关注
  • 2粉丝

讲师

52%

还不是VIP/贵宾

-

威望
0
论坛币
5298 个
通用积分
106.1148
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
14009 点
帖子
181
精华
0
在线时间
719 小时
注册时间
2015-9-9
最后登录
2024-3-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我想按照地区和专业分组,筛选出数值是连续的,且连续3个以上的行,如何操作?
数据库比较大
地区专业数值
a

12

a

13

b

14

c

16

d

9

d

10

a

12

b

13

b

14

a

16

c

17

c

18

c

19


二维码

扫码加我 拉你入群

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

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

关键词:如何操作 数据库 筛选出

沙发
jiangbeilu 学生认证  发表于 2019-6-16 21:50:57 |只看作者 |坛友微信交流群
你给的例子,好像只有丙C是符合条件的啊

使用道具

藤椅
jiangbeilu 学生认证  发表于 2019-6-16 22:10:19 |只看作者 |坛友微信交流群
分组之后用diff做差分可以用这个思路
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

板凳
cheetahfly 在职认证  发表于 2019-6-16 22:59:45 |只看作者 |坛友微信交流群
df %>%
  group_by(地区, 专业) %>%
  arrange(数值, .by_group = TRUE) %>%
  mutate(flag1 = 数值 - lag(数值),
              flag2 = cumsum(flag1 != 1)) %>%
  group_by(地区, 专业, flag2) %>%
  filter(n() >= 3) %>%
  ungroup() %>%
  select(-flag1:-flag2)

使用道具

报纸
5752 发表于 2019-6-17 14:52:45 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-6-16 22:59
df %>%
  group_by(地区, 专业) %>%
  arrange(数值, .by_group = TRUE) %>%
谢谢,我试试

使用道具

地板
5752 发表于 2019-6-17 14:52:50 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-6-16 22:59
df %>%
  group_by(地区, 专业) %>%
  arrange(数值, .by_group = TRUE) %>%
谢谢,我试试

使用道具

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

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

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

GMT+8, 2024-4-26 01:33