У меня есть следующий DF
x = data.frame('grp' = c(1,1,1,2,2,2),'a' = c(1,2,1,1,2,1), 'b'= c(6,5,6,6,2,6), 'c' = c(0.1,0.2,0.4,-1, 0.9,0.7))
grp a b c
1 1 1 6 0.1
2 1 2 5 0.2
3 1 1 6 0.4
4 2 1 6 -1.0
5 2 2 2 0.9
6 2 1 6 0.7
Я хочу посчитать различные уровни (a,b)
для каждой группы, где c >= 0.1
Iпытался использовать dplyr
для этого, используя group_by
& summarise
, но не получил желаемого результата
x %>% group_by(grp) %>% summarise(count = n_distinct(c(a,b)[c >= 0.1]))
В приведенном выше случае я ожидал бы следующий результат
grp count
<dbl> <int>
1 1 2
2 2 2
Однако, используя приведенный выше запрос, я получаю следующий результат
grp count
<dbl> <int>
1 1 4
2 2 3
Логически вышеприведенный вывод, кажется, решает для всех уникальных значений списка совпадений (a,b)
, но не то, что яТребуются любые указатели, очень ценю любую помощь