【问题标题】:Getting the median by date using dplyr's summarise() in R在 R 中使用 dplyr 的 summarise() 按日期获取中位数
【发布时间】:2015-08-24 13:02:23
【问题描述】:

我有一个按日期和时间间隔列出的整数计数观察数据框。我想使用 dplyr 包按日期查找这些观察值的中位数。我已经正确格式化了日期列,并像这样使用了 group_by:

data.bydate <- group_by(data.raw, date)

当我使用 summarise() 查找每个日期组的中位数时,我得到的只是一堆零。数据中有 NA,所以我一直在用 na.rm = TRUE 剥离它们。

data.median <- summarise(data.bydate, median = median(count, na.rm = TRUE)

我还有其他方法吗?

【问题讨论】:

  • 建议提供一些可重现的数据。
  • 如果没有可重现的示例,我们无法确定问题所在。关于代码,它看起来不错。`如果你只有 0 和 NA,那么你可能会得到一堆零。

标签: r dplyr median summary


【解决方案1】:

可能每个组都有太多的零值。尝试识别每个组中唯一值的数量,以检查组中是否有太多的零。下面的代码可以帮助查看每个组中可用于计数变量的唯一值的数量和总值。

summarise(data.bydate, unique_code = n_distinct(count), total_count = n(count))

【讨论】:

    【解决方案2】:

    你可以这样做,

    data.raw %>% group_by(date) %>% summarise(median = median(count, na.rm = TRUE))
    

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 2016-08-07
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多