使用R查找观测数据中的不连续性

kmynzznz  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(133)

数据

id<-c("a","a","a","a","a","a","b","b","b","b","b","b")
d<-c(1,2,3,90,98,100000,4,6,7,8,23,45)
df<-data.frame(id,d)

我想检测每个“id”的观测间断。
我期望的结果是获得一种不使用均值或中值作为参考来检测不连续性的方法。

cngwdvgl

cngwdvgl1#

您可以检查每组中一行与下一行之间的diff是否不等于1:

library(dplyr)
df %>%
  group_by(id) %>% 
  mutate(dis = +(c(F, diff(d) != 1)))

# A tibble: 12 × 3
# Groups:   id [2]
   id         d   dis
   <chr>  <dbl> <int>
 1 a          1     0
 2 a          2     0
 3 a          3     0
 4 a         90     1
 5 a         98     1
 6 a     100000     1
 7 b          4     0
 8 b          6     1
 9 b          7     0
10 b          8     0
11 b         23     1
12 b         45     1

相关问题