R 有条件地将行合并为一行,并进行求和和和平均

R 有条件地将行合并为一行,并进行求和和和平均,r,R,我有一张这样的桌子: 学生证 等级 周 单位 等级 期间 1. A. 1. 2. 50 90 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 90 我希望这就是你想要的: library(dplyr) df %>% group_by(Student_ID, Class, Week) %>% summarise(Grade = weighted.mean

我有一张这样的桌子:

学生证 等级 周 单位 等级 期间 1. A. 1. 2. 50 90 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 90
我希望这就是你想要的:

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

库(dplyr)
df%>%
分组依据(学生ID、班级、周)%>%
汇总(等级=加权平均值(等级,单位),
持续时间=总和(持续时间),
单位=总和(单位))%>%
重新定位(单位,.周后)
#一个tibble:4x6
#分组:学生ID,班级[3]
学生ID班级周单位年级时长
1A1580210
21B137030
32B285120
42B5210090