個々の ID に対応する最大期間と最小期間の間にギャップがあるデータを削除したい。各 Id は、任意の期間で開始および終了できます。それで問題ありません。最大時間と最小時間内に時間がないIDを取得したいだけです。
library(data.table)
set.seed(5)
data<-data.table(y=rnorm(100))
data[sample(1:100, 40),]<-NA
id = rep(1:10, each = 10)
time = seq(1,10)
data2<-data.frame(id,time)
data2$row<-1:nrow(data2)
data2a<-subset(data2,row<55|row>61 )
data3<-data2a[-sample(nrow(data2a), 5),]
data.table(data3)
count(data3$id)
これが良い例です。グループ 1 は削除する必要がありますが、たとえば 6 は削除しないでください。