以下是名为data的数据框:
slot id time number
1 1 0 6
1 1 1 8
1 1 2 3
1 1 3 6
1 1 4 8
1 1 5 3
....
1 1 23 9
1 2 0 6
1 2 1 9
1 2 2 3
1 2 3 6
1 2 4 9
1 2 5 6
1 2 6 9
1 2 7 6
1 2 8 3
....
1 2 23 3
....
2 1 0 8
2 1 1 3
2 1 2 8
2 1 3 3
.....
2 1 3 3
.....
30 80 23 3
同样,我有30个插槽,82个id和23个时间(0-23)。所以我想取每个id的平均值。 最初过滤一个id:
slot id time number
1 1 0 6
1 1 1 8
1 1 2 3
1 1 3 6
1 1 4 8
1 1 5 3
....
1 1 23 9
2 1 0 8
2 1 1 3
2 1 2 8
2 1 3 3
.....
30 1 23 3
所以我想取上述id的平均数,这意味着加上所有数字并除以720(24 * 30)。
average=sum(data$number)/720
因此,对于一个id,我可以轻松地执行此操作但是如何一次为所有id执行此操作并将其存储为数据框,如:
id average
___ _______
1 **
...
80 **
感谢任何帮助
答案 0 :(得分:1)
df %>%
group_by(id) %>%
summarise(average = mean(number))