为什么不能让dplyr的top_n()工作?

时间:2016-03-31 18:47:27

标签: r dplyr

我有一个名为df的数据框:

City,State,Price,Dogs
Portland,OR,75,1
Portland,OR,100,3
San Diego,CA,12,4
San Diego,CA,23,5
...

我使用了dplyr的{​​{1}}和summarise函数......

group_by

但是当我运行df.median <- summarise( group_by( df, State, City ), MEDIAN_PRICE = median(Price), SUM_DOGS = sum(Dogs) ) 时,R并没有给我top_n(df.median, 100, SUM_DOGS)中100个最高值的城市。它只返回SUM_DOGS

为什么?

1 个答案:

答案 0 :(得分:7)

您可能需要ungroup,因此您从整个数据集中选择top_n,而不是从每个州选择top_n(因为您的数据集当前已分组)。

top_n(ungroup(df.median), 100, SUM_DOGS)