У меня есть следующие данные
mydat=structure(list(group = c(111L, 111L, 111L, 111L, 111L, 111L,
111L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 555L, 555L, 555L,
555L, 555L, 555L, 555L), group2 = c(222L, 222L, 222L, 222L, 222L,
222L, 222L, 444L, 444L, 444L, 444L, 444L, 444L, 444L, 666L, 666L,
666L, 666L, 666L, 666L, 666L), action = c(0L, 0L, 0L, 1L, 1L,
0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L
), x1 = c(1L, 2L, 3L, 0L, 0L, 1L, 2L, 1L, 2L, 3L, 0L, 0L, 1L,
2L, 1L, 2L, 3L, 10L, 20L, 1L, 2L)), .Names = c("group", "group2",
"action", "x1"), class = "data.frame", row.names = c(NA, -21L
))
Здесь две групповые переменные (группа и группа2).
Есть три группы
111 222
333 444
555 666
столбец действия может принимать значения только 0 и 1.
Так что мне нужно найти эти группы, где для 1 категории действий они имеют только нулевые значения к x1.
в нашем случае это
111 222
333 444
потому что для всех 1 категории действий они имеют нули на x1.
Так что я могу работать только с 555 666
группой.
потому что у него есть хотя бы одно ненулевое значение первой категории действия по переменной x1.
желаемый вывод
Mydat1
здесь группы с хотя бы одним ненулевым значением первой категории действия по переменной x1.
group group2 action x1
555 666 0 1
555 666 0 2
555 666 0 3
555 666 1 **10**
555 666 1 **20**
555 666 0 1
555 666 0 2
mydat2
групп, которые для всех 1 категории действий имеют нули по x1
group group2 action x1
111 222 0 1
111 222 0 2
111 222 0 3
111 222 1 **0**
111 222 1 **0**
111 222 0 1
111 222 0 2
333 444 0 1
333 444 0 2
333 444 0 3
333 444 1 **0**
333 444 1 **0**
333 444 0 1
333 444 0 2