我有一个名为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
。
为什么?
答案 0 :(得分:7)
您可能需要ungroup
,因此您从整个数据集中选择top_n
,而不是从每个州选择top_n
(因为您的数据集当前已分组)。
top_n(ungroup(df.median), 100, SUM_DOGS)