如何对已经聚合的数据进行正确的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/