gpt4 book ai didi

r - n 行的平均值,同时将第一行(每 n 行)的数据保留在 r 中

转载 作者:行者123 更新时间:2023-12-04 04:52:52 26 4
gpt4 key购买 nike

我的数据看起来类似于:

value    days
25 1
24 2
25 4
26 5

我想计算值列每 n 行的平均值,但要保留每第一行、每 n 行的“天”信息。例如,对于 n=2,新数据将相应地显示:
 value    days
24.5 1
25.5 4

当我使用 colMeans 时,我只得到值列。

你有什么建议吗?

谢谢。

最佳答案

说你的 data.frame被称为 df

library(plyr)
n <- 2
ddply(df, .(rep(1:(nrow(df)/n), each=n)), summarise, mean=mean(value), day=days[1])

编辑:

您还可以为 subset() 提供更多变量 df ,只要把它们放进去 .()用逗号分隔,如 .(var1, var2, var3)或者,为这些变量命名, .(newname1=var1, newname2=var2, newname3=var3) .在你的例子中:
> ddply(df, .(groupID=rep(1:(nrow(df)/n), each=n)), summarise, mean=mean(value), day=days[1])
groupID mean day
1 1 24.5 1
2 2 25.5 4

关于r - n 行的平均值,同时将第一行(每 n 行)的数据保留在 r 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17165562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com