Tar*_*aas 2 statistics r 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
Run Code Online (Sandbox Code Playgroud)
假设我们对垃圾桶中的东西了解不多,但是假设垃圾桶中的变化很小。据我们所知,我们将像这样排列值:
10 10 20 20 20 20 20 50 50 50 100
Run Code Online (Sandbox Code Playgroud)
在11个值中,中位数将是第6个值,即20
但是,如果我简单地采用median(),则R会接受4个值:10, 20, 50, 100
> median(df$avg)
[1] 35
Run Code Online (Sandbox Code Playgroud)
这不是我想要的。
如何解决这个问题并“展开”数据集?
正如李哲远所说,该问题已解决。这很简单,令我惊讶的是我不知道。
with(df, median(rep.int(avg, count)) )
Run Code Online (Sandbox Code Playgroud)