分離的一個子集提取的數據幀,其中記錄由一個特定的時間段
我有一個數據集如下(我已經修改了這個問題,使之更加明確。):
data <- structure(list(id = 1:12, personID = c(1L, 2L, 3L, 4L, 4L, 3L, 2L, 1L, 1L, 2L, 3L, 4L), lastName = structure(c(1L, 2L, 3L, 4L, 4L, 3L, 2L, 1L, 1L, 2L, 3L, 4L), .Label = c("james", "joan", "lucy", "mary"), class = "factor"), date = structure(c(5L, 5L, 8L, 9L, 6L, 1L, 3L, 11L, 4L, 2L, 7L, 10L), .Label = c("1/01/2012", "10/04/2011", "11/01/2012", "11/08/2011", "12/01/2012", "12/04/2012", "12/12/2011", "14/01/2012", "16/01/2012", "24/06/2010", "24/06/2011" ), class = "factor"), status = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L)), .Names = c("id", "personID", "lastName", "date", "status"), class = "data.frame", row.names = c(NA, -12L ))
我需要從數據框中提取一個子集,以包含在大於8周的時間內每行發生超過一次的記錄。
提取需要從最早的記錄搜索,然後選擇下一個(最近)的額外的相同PERSONID,這是因爲以前的記錄大於8週記錄。在找到比8周更早的另一個記錄時,應該使用最近的第二條記錄作爲新的起點重複該過程。
謝謝。
這將挑選出的每個人的最分隔雙記錄,提供分離超過8周。但是,如果一個人在第1天,第90天,第200天有記錄,那麼OP可能需要該人的所有* 3 *記錄。這需要由@John澄清。 – 2012-01-17 13:43:00
@PrasadChalasani好點,我會再考慮一下。 'expand.grid'可能是需要的。 – James 2012-01-17 14:07:51
@PrasadChalasani其實'dist'的伎倆相當不錯 – James 2012-01-17 14:21:50