gpt4 book ai didi

r - 按日期汇总数据帧并将不同的功能应用于相应的列?

转载 作者:行者123 更新时间:2023-12-04 05:13:10 25 4
gpt4 key购买 nike

我有以下数据框“DF”,它是一个更大的数据框的一部分:

             X1  X2            X3 X4 X5
4468 2010-03-24 3 1.000000e+00 1 2
7662 2010-03-24 9 3.000000e+00 2 1
1272 2010-03-25 8 2.000000e+00 1 1
1273 2010-03-26 9 0.000000e+00 1 1
1274 2010-03-27 8 0.000000e+00 1 1
4469 2010-03-28 4 0.000000e+00 1 2
7663 2010-03-28 4 3.000000e+00 3 1
8734 2010-03-28 7 4.000000e+00 2 3
1275 2010-03-29 8 0.000000e+00 1 1

如您所见,第一列包含一个日期。我想做的如下:
我想将此数据帧转换为一个新的“DF2”,其中每个日期只有1行带有相应的列值:
X2, the average 
X3, the sum
X4, the maximum

每个日期的所有先前值的百分比。 X5不相关,可以删除。结果将是:
             X1  X2            X3 X4
7662 2010-03-24 6 4.000000e+00 2
1272 2010-03-25 8 2.000000e+00 1
1273 2010-03-26 9 0.000000e+00 1
1274 2010-03-27 8 0.000000e+00 1
8734 2010-03-28 5 7.000000e+00 3
1275 2010-03-29 8 0.000000e+00 1

有谁知道如何做到这一点?帮助将不胜感激!

最佳答案

您可以使用plyr包中的ddply函数通过某些分组变量进行任意聚合或其他转换。

对于您的问题,代码如下所示:

library(plyr)
result <- ddply(DF, .(X1), function(df) {
with(df, data.frame( X1=mean(X1), X2=sum(X2), X3=max(X3) ) )
} )

如果这是一个中型项目,则可能需要设置 progress参数以显示进度栏。对于很大的问题,可以将其设置为使用并行处理。

关于r - 按日期汇总数据帧并将不同的功能应用于相应的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16527247/

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