r - 使用 tidyverse 对大型时间序列数据集有条件聚合列

标签 r dplyr time-series tidyverse

在查看了其他一些问题并阅读了一些指南后,我无法找到适合我的具体问题的解决方案。以下是要开始的数据示例:

data <- data.frame(
        Date = sample(c("1993-07-05", "1993-07-05", "1993-07-05", "1993-08-30", "1993-08-30", "1993-08-30", "1993-08-30", "1993-09-04", "1993-09-04")),
        Site = sample(c("1", "1", "1", "1", "1", "1", "1", "1", "1")),
        Station = sample(c("1", "2", "3", "1", "2", "3", "4", "1", "2")),   
        Oxygen = sample(c("0.9", "0.4", "4.2", "5.6", "7.3", "4.3", "9.5", "5.3", "0.3")))

我想要对嵌套在与某个日期相对应的站点内的站点的所有氧气值进行平均。我的数据集有几千行,就像示例中一样,车站数量不均匀,日期长度也不均匀。

我正在寻找的输出是诸如“日期 -> 站点 -> 平均氧气”之类的列,在新版本的时间序列中完全不需要站列。

任何帮助将不胜感激!

最佳答案

按“站点”、“日期”分组后,得到mean “氧气”(将其转换为 numeric 后 - 它是 factor 列)

library(tidyverse)
data %>%
   group_by(Site, Date) %>% 
   summarise(AverageOxygen = mean(as.numeric(as.character(Oxygen))))
# A tibble: 3 x 3
# Groups:   Site [1]
#  Site  Date       AverageOxygen
#  <fct> <fct>              <dbl>
#1 1     1993-07-05          3.97
#2 1     1993-08-30          5.2 
#3 1     1993-09-04          2.55

关于r - 使用 tidyverse 对大型时间序列数据集有条件聚合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54771596/

相关文章:

r - 您使用什么方法来选择 k-means 和 EM 中的最佳聚类数?

r - 将错误写入文件

r - 映射 mutate 中的嵌套列表并提取特定列表元素

python - python中的时间序列分割

machine-learning - 将sample_weights与fit_generator()一起使用

linux - 重新编译 R 以支持 PNG

r - 使用 xlsx 和 R 将多个数据帧写入一张 Excel 表

r - 在编程中使用 dplyr 合并

r - 如何使用 dplyr 进行计数?

r - auto.arima() 应该不区分?