我有一个大数据框,如下所示:
P1_prom Nom
1 -6.17 Pt_00187
2 -6.17 Pt_00187
3 -6.17 Pt_00187
4 -6.17 Pt_00187
5 -6.17 Pt_00187
6 -6.17 Pt_01418
7 -5.77 Pt_01418
8 -5.37 Pt_01418
9 -4.97 Pt_01418
10 -4.57 Pt_01418
-
-
-
25000
其中Nom表示地图中的一个点,P1_prom表示我们在每个点上执行的操作的值(请注意,我们为每个点执行了5次重复,因此,每个点都有5个值)。 我想要做的是,没有成功,就是创建一个新列,其中每一行对应于每个点的P1_prom的平均值。所以基本上我需要程序做的是在新列的第一行写入P1_prom的前五个值的平均值,在第二行中写入接下来五个值的平均值,依此类推。 任何人都可以指导我如何做到这一点。 非常感谢你, 维罗妮卡
答案 0 :(得分:5)
这是data.table
install.packages("data.table")
library(data.table)
setDT(df)
df[, name_of_new_column := mean(P1_prom), by=Nom]