【发布时间】:2021-06-08 03:37:02
【问题描述】:
在下面的 data.table 中,我正在尝试识别连续丢失超过 4 天/行的组,如果找到,删除这些连续丢失日期之前的所有行。以下是一个小样本集,其中 B 组有一些缺失的行。
library(data.table)
dt <- structure(list(date = structure(c(17956L, 17959L, 17960L, 17961L,
17962L, 17963L, 17966L, 17967L, 17968L, 17969L, 17970L, 17973L,
17974L, 17975L, 17976L, 17977L, 17980L, 17981L, 17982L, 17983L,
17984L, 17956L, 17959L, 17960L, 17961L, 17962L, 17963L, 17966L,
17967L, 17968L, 17980L, 17981L, 17982L, 17983L, 17984L), class = c("IDate", "Date")),
group = c("A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "A", "A",
"B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B"),
value = c(43.7425,
43.9625, 43.8825, 43.63, 43.125, 43.2275, 44.725, 45.2275, 45.4275,
45.9325, 46.53, 47.005, 46.6325, 47.04, 48.7725, 47.7625, 47.185,
46.6975, 47.1175, 47.18, 47.4875, 12.31, 12.51, 12.7, 12.4, 12.63,
12.93, 13.18, 13.23, 13.35, 14.27, 14.5, 14.25, 13.88, 13.71)),
row.names = c(NA, -35L), class = c("data.table", "data.frame"))
> dt
date group value
1: 2019-03-01 A 43.7425
2: 2019-03-04 A 43.9625
3: 2019-03-05 A 43.8825
4: 2019-03-06 A 43.6300
5: 2019-03-07 A 43.1250
6: 2019-03-08 A 43.2275
7: 2019-03-11 A 44.7250
8: 2019-03-12 A 45.2275
9: 2019-03-13 A 45.4275
10: 2019-03-14 A 45.9325
11: 2019-03-15 A 46.5300
12: 2019-03-18 A 47.0050
13: 2019-03-19 A 46.6325
14: 2019-03-20 A 47.0400
15: 2019-03-21 A 48.7725
16: 2019-03-22 A 47.7625
17: 2019-03-25 A 47.1850
18: 2019-03-26 A 46.6975
19: 2019-03-27 A 47.1175
20: 2019-03-28 A 47.1800
21: 2019-03-29 A 47.4875
22: 2019-03-01 B 12.3100
23: 2019-03-04 B 12.5100
24: 2019-03-05 B 12.7000
25: 2019-03-06 B 12.4000
26: 2019-03-07 B 12.6300
27: 2019-03-08 B 12.9300
28: 2019-03-11 B 13.1800
29: 2019-03-12 B 13.2300
30: 2019-03-13 B 13.3500
31: 2019-03-25 B 14.2700 <------ Missing days prior to 25th March in group B
32: 2019-03-26 B 14.5000
33: 2019-03-27 B 14.2500
34: 2019-03-28 B 13.8800
35: 2019-03-29 B 13.7100
我想确定 B 组有超过 4 个连续缺失的日期/行,并删除这些缺失日期之前的所有行。
如果连续缺失的日期/行少于 4 天,那么我们不需要隔离这些组。
谢谢!
【问题讨论】:
-
“缺失”是什么意思,您的日期列没有缺失 (NA) 行?
-
我已更新问题以显示缺失的日期。
标签: r date data.table