如何在 R 中求 5 分钟间隔的总和

2023-12-10

我有一个数据集,其中包含 6 个不同站点每分钟的降水量记录。我想对每个电台每 5 分钟进行一次汇总。 这些是我的数据集的前 5 行(总共 17280 行):

  P_alex P_hvh P_merlijn P_pascal P_thurlede P_tosca                date
    0     0         0        0          0       0 2011-06-27 22:00:00
    0     1         5        2          0       0 2011-06-27 22:01:00
    0     0         0        0          0       0 2011-06-27 22:02:00
    0     6         2        3          0       0 2011-06-27 22:03:00
    0     0         0        0          0       0 2011-06-27 22:04:00

我试图在互联网上寻找帮助,但找不到对我有帮助的答案。

我还需要每小时总和,为此我使用以下代码,但如果您想进行其他求和,则此代码毫无用处

uur_alex = tapply(disdro$P_alex, as.POSIXct(trunc(disdro$date, "hour")), sum)

现在我想要一个可以用来进行不同求和的代码,所以需要 5 分钟(如问题中所示),但也需要半小时。 我希望有人能帮助我。


cut与日期时间对象配合得很好,因此可用于创建您希望聚合的 5 分钟间隔。这是一个例子:

首先,一些示例数据:

set.seed(1)
mydf <- data.frame(P_alex = sample(0:5, 40, replace = TRUE),
                   P_hvh = sample(0:3, 40, replace = TRUE),
                   date = as.POSIXct("2011-06-27 22:00:00") + 60 * 0:39)
list(head(mydf), tail(mydf))
# [[1]]
#   P_alex P_hvh                date
# 1      1     3 2011-06-27 22:00:00
# 2      2     2 2011-06-27 22:01:00
# 3      3     3 2011-06-27 22:02:00
# 4      5     2 2011-06-27 22:03:00
# 5      1     2 2011-06-27 22:04:00
# 6      5     3 2011-06-27 22:05:00
# 
# [[2]]
#    P_alex P_hvh                date
# 35      4     1 2011-06-27 22:34:00
# 36      4     3 2011-06-27 22:35:00
# 37      4     3 2011-06-27 22:36:00
# 38      0     1 2011-06-27 22:37:00
# 39      4     3 2011-06-27 22:38:00
# 40      2     3 2011-06-27 22:39:00

现在,执行聚合。在下面的示例中,我们聚合原始数据集中的所有列,但从数据集中删除“date”变量(使用mydf[setdiff(names(mydf), "date")]).

# Aggregate all columns by the intervals created with cut.
# For the dataset, we drop the original date column since
#   it is no longer needed here. Our function is "sum"
aggregate(. ~ cut(mydf$date, "5 min"), 
          mydf[setdiff(names(mydf), "date")], 
          sum)
#   cut(mydf$date, "5 min") P_alex P_hvh
# 1     2011-06-27 22:00:00     12    12
# 2     2011-06-27 22:05:00     16     8
# 3     2011-06-27 22:10:00     12     5
# 4     2011-06-27 22:15:00     17     6
# 5     2011-06-27 22:20:00     10     8
# 6     2011-06-27 22:25:00     11     8
# 7     2011-06-27 22:30:00     12     7
# 8     2011-06-27 22:35:00     14    13
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中求 5 分钟间隔的总和 的相关文章

  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 更改计划的开始日期以优化资源

    我有很多工作需要在特定的时间间隔执行 然而 我们每天完成这项工作的资源有限 因此 我正在尝试优化开始时间日期 开始时间日期只能向前移动 不能向后移动 以便每天使用的资源与我们的预算更加不相似 这些函数在下面的示例中使用 Function t
  • 检查单词是否存在于英语词典 r 中

    我正在对多个进行一些文本分析resume生成一个wordcloud using wordcloud包装连同tm用于在 R 中预处理文档语料库的包 我面临的问题是 检查语料库中的单词是否具有某种含义 即 它属于英语词典 如何一起挖掘 处理多份
  • 捕获段错误、内存未映射错误

    我试图在 R 中找到 1347 x 209974 矩阵的列的相关性 每次我这样做 使用一个简单的命令cor matrix 我收到消息 caught segfault address 0xffffffffd058abf8 cause memo
  • 如何匹配R中列之间的多个对应值

    我有一个结构如下的数据框 ID Value1 Value2 1 a d g f 12 14 15 9 2 b c e 5 18 20 3 h i j 6 7 25 所以我有一个 ID 和两个值 对于值 1 有多个对应于值 2 的选项 我想最
  • 在 R 中使用 nls 重新创建研究

    我正在学习如何在 R 中使用 nls 函数 但遇到了一些问题 我现在只是试图重新创建研究论文中发现的曲线 该模型拟合了 1987 年崩盘前股市走势的曲线 我定义了一个函数func 如下 func lt function a b tc t a

随机推荐