使用求和和和求平均值将行条件合并为一行



我有一个如下所示的表:

周>年级持续时间[/tr>9090
学生ID 班级单元
1 A 1 2 50
1 A 1 3 100 120
1 B 1 3 70 30
2 B 4 1 80 60
2 B 4 1 90 60
2 B 5 2 100

我希望这就是您想要的:

library(dplyr)
df %>%
  group_by(Student_ID, Class, Week) %>%
  summarise(Grade = weighted.mean(Grade, Units), 
            Duration = sum(Duration),
            Units = sum(Units)) %>%
  relocate(Units, .after = Week)

# A tibble: 4 x 6
# Groups:   Student_ID, Class [3]
  Student_ID Class  Week Units Grade Duration
       <int> <chr> <int> <int> <dbl>    <int>
1          1 A         1     5    80      210
2          1 B         1     3    70       30
3          2 B         4     2    85      120
4          2 B         5     2   100       90

最新更新