У меня есть некоторые данные, в которых у меня есть несколько наблюдений за одним и тем же событием. Исходя из порога времени, я хочу сжать наблюдения. Но я хочу знать, сколько я сгущаю (то есть, сколько наблюдений становится одним). Я не уверен, как перебрать мой фрейм данных таким способом, чтобы сделать это.
Я пытался написать цикл for, операторы if, while и неутомимый поиск в Google и переполнении стека. Кажется, ничто не связано с тем, что мне нужно делать.
вот подмножество моих данных:
structure(list(date.time = structure(c(1465877617, 1465877774,
1465877816, 1465877844, 1465912214, 1465912806, 1465912862, 1465914033
), class = c("POSIXct", "POSIXt"), tzone = "America/New_York"),
time = structure(1:8, .Label = c("00:13:37", "00:16:14",
"00:16:56", "00:17:24", "09:50:14", "10:00:06", "10:01:02",
"10:20:33"), class = "factor"), X = c(1, 1, 1, 1, 1, 1, 1,
1), diff_time1 = structure(c(157, 42, 28, 34370, 592, 56,
1171, 2820), class = "difftime", units = "secs"), diff_time2 = c(FALSE,
FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE), new = c("start",
"include", "include", "end", "start", "include", "end", "start-end"
)), row.names = c(NA, 8L), class = "data.frame")
Цель состоит в том, чтобы он выглядел так, как показано ниже, но с дополнительным столбцом размера выборки для каждого "смутного" наблюдения:
structure(list(n = 1:8, end = structure(c(1465877844, 1465912862,
1465914033, 1465916853, 1465921999, 1465928992, 1465933159, 1465937668
), class = c("POSIXct", "POSIXt")), start = structure(c(1465877617,
1465912214, 1465914033, 1465916853, 1465921999, 1465928647, 1465932867,
1465937418), class = c("POSIXct", "POSIXt")), date = structure(c(16966,
16966, 16966, 16966, 16966, 16966, 16966, 16966), class = "Date")), row.names = c(NA,
-8L), class = c("tbl_df", "tbl", "data.frame"))