gpt4 book ai didi

r - `tapply()` 返回数据帧

转载 作者:行者123 更新时间:2023-12-01 07:15:44 27 4
gpt4 key购买 nike

我有一个包含日期时间 (POSIXct)、“节点”(因子)和“c”(数字)列的数据集,例如:

                 date node           c
1 2011-08-14 10:30:00 2 0.051236000
2 2011-08-14 10:30:00 2 0.081230000
3 2011-08-14 10:31:00 1 0.000000000
4 2011-08-14 10:31:00 4 0.001356337
5 2011-08-14 10:31:00 3 0.001356337
6 2011-08-14 10:32:00 2 0.000000000

我需要为所有“日期”和“节点”对取“c”列的平均值,所以我这样做了:
tapply(data$c, list(data$node, data$date), mean)

我得到的结果是我想要的,但结构很奇怪:
num [1:5, 1:8923] 0 0 0.00092 0.00146 NA ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:5] "1" "2" "3" "4" ...
..$ : chr [1:8923] "2011-08-14 10:30:00" "2011-08-14 10:31:00" "2011-08-14 10:32:00" "2011-08-14 10:33:00" ...

示例输出将是:
  2011-08-17 23:56:00 2011-08-17 23:57:00 2011-08-17 23:58:00
1 4.759077e-05 4.759077e-05 4.759077e-05
2 0.000000e+00 3.875248e-05 1.595690e-04
3 1.134391e-03 1.134391e-03 1.109730e-03
4 4.882813e-04 6.914658e-04 4.955846e-04
5 0.000000e+00 0.000000e+00 0.000000e+00

我想要的是类似于原始结构的东西,带有日期时间、节点因子和“c”值。我无法弄清楚如何实现这一目标。任何帮助,将不胜感激。

非常感谢。

最佳答案

你可以试试...

aggregate( c ~ node + date, data = data, FUN = mean )

关于r - `tapply()` 返回数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7356522/

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