Trochę borykam się z dplyr
, ponieważ chcę zrobić dwie rzeczy na jednym i zastanawiam się, czy jest to możliwe.filtrowanie w ramach funkcji podsumowania dplyr
Chcę obliczyć średnią wartości i jednocześnie średnią dla wartości, które mają określoną wartość w innej kolumnie.
library(dplyr)
set.seed(1234)
df <- data.frame(id=rep(1:10, each=14),
tp=letters[1:14],
value_type=sample(LETTERS[1:3], 140, replace=TRUE),
values=runif(140))
df %>%
group_by(id, tp) %>%
summarise(
all_mean=mean(values),
A_mean=mean(values), # Only the values with value_type A
value_count=sum(value_type == 'A')
)
Więc kolumna A_mean
należy obliczyć średnią z values
gdzie value_count == 'A'
.
Zwykle robię dwa oddzielne polecenia i łączę wyniki później, ale myślę, że jest bardziej przydatny sposób i po prostu go nie dostaję.
Z góry dziękuję.
Ładne i łatwe rozwiązanie! – drmariod