Я новичок в R и пытаюсь удалить строки на основе значений предыдущих строк. Пример данных:R удалять строки на основе значений в предыдущих строках
Cust_ID | Date | Value
500219 | 2016-04-11 12:00:00 | 0
500219 | 2016-04-12 16:00:00 | 0
500219 | 2016-04-14 11:00:00 | 1
500219 | 2016-04-15 12:00:00 | 1
500219 | 2016-05-23 09:00:00 | 0
500219 | 2016-05-02 19:00:00 | 0
500220 | 2016-04-11 12:00:00 | 0
500220 | 2016-04-14 11:00:00 | 1
500220 | 2016-04-15 12:00:00 | 1
500220 | 2016-05-23 09:00:00 | 0
500220 | 2016-05-02 19:00:00 | 0
Я хотел бы сохранить только те строки, прежде чем значение = 1 для каждого Cust_ID дает результат:
Cust_ID | Date | Value
500219 | 2016-04-11 12:00:00 | 0
500219 | 2016-04-12 16:00:00 | 0
500219 | 2016-04-14 11:00:00 | 1
500219 | 2016-04-15 12:00:00 | 1
500220 | 2016-04-11 12:00:00 | 0
500220 | 2016-04-14 11:00:00 | 1
500220 | 2016-04-15 12:00:00 | 1
Любая помощь будет оценен по достоинству!
Спасибо за ваше решение. К сожалению, я получаю следующую ошибку: Ошибка в 1: падение [1]: аргумент NA/NaN Любая помощь была бы принята с благодарностью! –
Я предполагаю, что есть идентификаторы, в которых нет значений, равных 1. Это так? Если да, то что бы вы хотели с ними сделать? – lmo
Спасибо за ваш ответ. Кажется, что падение порождает ошибку при пустом. Следующие работы! dfNew <- do.call (rbind, lapply (myList, function (i) { drop <- which (i $ Value == 1) if (length (drop)! = 0) { i [c (1: падение [1], падение [-1]),] } })) –