Вот некоторые примеры данных:
library(car)
library(dplyr)
df1 <- mtcars %>%
group_by(cyl, gear) %>%
summarise(
newvar = sum(wt)
)
# A tibble: 8 x 3
# Groups: cyl [?]
cyl gear newvar
<dbl> <dbl> <dbl>
1 4 3 2.46
2 4 4 19.0
3 4 5 3.65
4 6 3 6.68
5 6 4 12.4
6 6 5 2.77
7 8 3 49.2
8 8 5 6.74
Что, если я затем хотел бы применить пользовательскую функцию, вычисляющую разницу между значениями newvar для автомобилей с 3 или 5 передачами для каждого уровня цилиндра?
df2 <- df1 %>% mutate(Diff = newvar[gear == "3"] - newvar[gear == "5"])
или с суммированием?
df2 <- df1 %>% summarise(Diff = newvar[gear == "3"] - newvar[gear == "5"])
Должен быть способ применения функций для разных уровней в рамках разных факторов?
Любая помощь приветствуется!