-3

我有一个看起来像这样的大数据框:

   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 的前五个值的平均值,在第二行写下五个值的平均值,依此类推。任何人都可以指导我如何做到这一点。非常感谢,维罗妮卡

4

1 回答 1

5

这是一份工作data.table

install.packages("data.table")
library(data.table)

setDT(df)
df[, name_of_new_column := mean(P1_prom), by=Nom]
于 2013-07-05T22:03:38.490 回答