Я хотел бы удалить указанное c наблюдение из набора данных. Каждое наблюдение имеет серийный номер (идентификационный номер), день (дни недели с понедельника по воскресенье), 7 переменных от дня 1 до дня 7, каждая из которых представляет день недели. Day1 - Mon, а Day7 - Sun.
Я хотел бы удалить те наблюдения (сериалы), где day1 ... day7 равен нулю. Это случай с идентификатором 12, где в течение понедельника наблюдения не проводились (например, день, совпадающий с днем1, возвращает ноль). В случае 123 во вторник было зарегистрировано 3 наблюдения, я хотел бы сохранить этот сериал.
Я пытался преобразовать данные в длинные и на основе этого сделать сопоставление без успеха.
Вход:
serial day1 day2 day3 day4 day5 day6 day7 Day
12 0 1 2 1 1 3 1 Monday
123 0 3 0 3 3 0 3 Tuesday
10 0 3 0 3 3 3 3 Thursday
Выход:
serial day1 day2 day3 day4 day5 day6 day7 Day
123 0 3 0 3 3 0 3 Tuesday
Пример данных
structure(list(serial = c(12, 123, 10), day1 = c(0, 0, 0), day2 = c(1,
3, 3), day3 = c(2, 0, 0), day4 = c(1, 3, 3), day5 = c(1, 3, 3
), day6 = c(3, 0, 3), day7 = c(1, 3, 3), Day = structure(c(1L,
3L, 2L), .Label = c("Monday", "Thursday", "Tuesday"), class = "factor")), row.names = c(NA,
3L), class = "data.frame")