【发布时间】:2017-04-04 19:32:25
【问题描述】:
我每天有多次观察的数据,我想构建一个每日平均值表。我本能的方法(来自其他编程语言)是按日期对数据进行排序并编写一个 for 循环来遍历并平均它。但是每次我看到一个涉及 for 循环的 R 问题时,都会有强烈的反应,即 R 处理向量类型的方法要好得多。解决这个问题的更聪明的方法是什么?
作为参考,我的数据看起来像
date observation
2017-4-4 17
2017-4-4 412
2017-4-4 9
2017-4-3 96
2017-4-3 14
2017-4-2 8
我希望输出是一个新的数据框,看起来像
date average
2017-4-4 146
2017-4-3 55
2017-4-2 8
【问题讨论】:
-
感谢您的帮助!不过,这个问题实际上与我的完全不同。它要求同一行中多个变量的平均值。为了澄清起见,我想对可能多行的单个变量进行平均。因此,输出将是一个新的数据框,其中包含日期列表和每个日期的观察平均值。
-
tapply(df$observation, df$date, FUN=mean)stackoverflow.com/questions/3505701/… -
在发布此类问题之前请“搜索和研究”,并展示您迄今为止所做的尝试。这将为您提供更多帮助。
-
@jogo 您链接的问题中的回答非常有启发性,我可以看到该方法每天输出,然后是平均值。您的链接将此称为“参差不齐”的数组,我无法找到一种干净的方法来单独提取日期或平均值(例如,绘制它们)。
标签: r