Условное удаление следующей строки - PullRequest
0 голосов
/ 24 декабря 2018

df набор данных содержит меру времени Difference_last по каждому SampleID, Direction и Type.

Моя цель состоит в том, чтобы удалить значения выбросов следующим образом: Если Difference_last больше чемзатем удалите все следующие строки в том же Direction (= 1) и Type (= 14) внутри SampleID = 1 enter image description here

df=structure(list(SampleID = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L), SampleHour = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L), .Label = c("17:03:13", "17:05:44", "17:08:44", 
"17:11:39", "17:14:39", "17:18:06", "17:21:13", "17:24:02", "17:27:05", 
"17:32:43", "17:35:59", "17:38:40", "17:41:26", "17:44:43", "17:48:14", 
"17:51:14", "17:55:00", "17:57:16", "18:00:12", "18:03:16", "18:06:03", 
"18:09:59", "18:12:49", "18:15:37", "18:18:01", "18:21:31", "18:26:09", 
"18:27:58", "18:29:52", "18:33:21", "18:36:40", "18:38:50", "18:41:25", 
"18:44:35", "18:48:45", "18:52:08", "18:54:19", "18:59:52", "19:02:28", 
"19:06:04", "19:11:18", "19:15:03", "19:18:06", "19:21:37"), class = "factor"), 
    Direction = c("0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "1", "1", 
    "1", "1", "1", "1", "1", "1", "1", "0", "0", "0", "0", "0", 
    "0", "0", "0"), Type = c(14, 12, 11, 12, 10, 8, 7, 5, 6, 
    6, 5, 1, 7, 12, 10, 12, 16, 11, 8, 6, 4, 12, 10, 7, 6, 5, 
    14, 4, 5, 13, 4, 12, 1, 14, 12, 12, 6, 13, 12, 4, 12, 14, 
    1, 6, 14, 4, 6, 14, 6, 4, 1, 6, 14, 13, 13, 11, 12, 12, 11, 
    11), Difference_last = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 
    0, 0, 1, 1, 1, 0, 1, 1, 1, 2, 2, 0, 0, 0, 23, 0, 11, 13, 
    4, 17, 23, 8, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("SampleID", 
"SampleHour", "Direction", "Type", "Difference_last"), row.names = c(NA, 
-60L), class = c("tbl_df", "tbl", "data.frame"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...