r - 计算 R rstats 中预聚合数据(具有平均值和计数)的中位数

标签 r statistics aggregation median

如何对已经聚合的数据进行正确的median计算?

例如,如果我有一个如下所示的数据框:

> df <- data.frame(name = c("A","B","C","D"), count = c(1,3,5,2), avg = c(100,50,20,10))
> df
# A tibble: 4 × 3
   name count   avg
  <chr> <dbl> <dbl>
1     A     1   100
2     B     3    50
3     C     5    20
4     D     2    10

假设我们不太了解垃圾箱内的元素,但假设垃圾箱内几乎没有变化。 据我们所知,我们会将这些值排列成这样:

10 10 20 20 20 20 20 50 50 50 100

在 11 个值中,中位数将是 第 6 个,即 20

但如果我简单地采用 median(),R 会采用 4 个值:10, 20, 50, 100

> median(df$avg)
[1] 35

这不是我想要的。

我怎样才能解决这个问题并“展开”数据集?

最佳答案

如李哲元所说,已解决。 这很简单,我很惊讶我不知道。

with(df, median(rep.int(avg, count)) )

关于r - 计算 R rstats 中预聚合数据(具有平均值和计数)的中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047900/

相关文章:

elasticsearch - 总和聚合不适用于重复数据 Elasticsearch

sql - 错误 : "Multiple columns are specified in an aggregated expression containing an outer reference."

r - 按列的阈值子集数据帧

machine-learning - 标准化多元线性回归模型中的因变量

r - 用于检查和批量线性模型的数据表选项

python-3.x - 使用 "maximum diversity"高效绘制组合

linux - 最佳鱿鱼日志文件分析工具

typescript - 从 elasticsearch 聚合返回复杂的嵌套文档

r - 使用 facet_wrap 和 ggplot2 在每个方面绘制整个数据

r - 在R中的glmnet中提取非零系数