我有一個數據框,其中每一行都是對事件的觀察。有兩列,分別是id
和date
。我想製作第三欄,標識那些在任何6個月期間有3次或更多事件(基於date
)的個人(根據id
)。但是,如果事件距前一個事件超過7天,則該事件只能算作唯一。如果用戶可以考慮採用其他方式來完成此任務,則不需要第三列。找到超過6個月的觀察次數超過3的個人子集
id <- c(1,1,1,2,2,2,3,3,3,4,4)
date <- as.Date(c("2015-01-01", "2015-03-02", "2015-03-05", "2015-01-13", "2015-01-29", "2015-12-15", "2015-01-03", "2015-03-03", "2015-04-03", "2015-01-29", "2015-03-04"),format = "%Y-%m-%d")
df <- data.frame(id, date)
在上述方法的僞代碼應該識別單個id == 3
爲具有隨着時間的正確的時間間隔所需要的數目OG觀測,同時排除id == 1
因爲在日期"2015-03-02"
和"2015-03-05"
觀察是於7天內彼此和id == 2
的和id == 4
,因爲他們有6個月的3個觀測值。
@akrun在我data.frame還有誰遵循了好幾年,可能有高達15條不同的意見的人。我試圖找出所有在任何可能的6個月期間內有3次獨特觀測的那些,但不包括在先前觀測7天內的觀測。 – user6571411