[英]How to count number of occurrences of a consecutive string of the same number in R
[英]How to delete consecutive occurrences of an event in a R dataframe?
我有一個R數據框,其中包含有關通用事件的日期信息:id; start_date; end_date。
有時, 同一事件可能在同一天(1)或相距一天(2)發生,例如:
(1)1001; 2016-05-07; 2016-05-11 1001; 2016-05-11; 2016-05-14
(2)1001; 2016-05-07; 2016-05-11 1001; 2016-05-12; 2016-05-14
在第一種情況下,事件“ 1001”結束並在同一天重新開始,而在第二種情況下,事件在2017-05-11結束並在第二天再次開始。 在這兩種情況下,我都想刪除該事件的第二次出現。 如果第二次出現距離為兩天或更長時間,則可以保留第二次出現。 我如何在R中做到這一點?
先感謝您。
我對數據看起來像的部分解決方案:
library(data.table)
dat <- data.table(id = c(1001,1001,1001,1001),
start_date = as.Date(c("2016-05-07", "2016-05-11", "2016-05-07", "2016-05-12")),
end_date = as.Date(c("2016-05-11", "2016-05-14", "2016-05-11", "2016-05-14")))
dat2 <- data.table(id = c(dat$id, NA),
start_date = c(dat$start_date, NA),
end_date = c(as.Date(NA), dat$end_date))
dat2[, dif := end_date - start_date]
然后,您可以刪除dif <= 0
行,我想。
我使用了data.table
包,但是您可以執行dat2$dif <- dat2$end_date - dat2$start_date
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.