我有一个名为df
的数据框:
City,State,Price,Dogs
Portland,OR,75,1
Portland,OR,100,3
San Diego,CA,12,4
San Diego,CA,23,5
...
我使用了
dplyr
的summarise
和group_by
函数...df.median <- summarise(
group_by(
df,
State,
City
),
MEDIAN_PRICE = median(Price),
SUM_DOGS = sum(Dogs)
)
但是,当我运行
top_n(df.median, 100, SUM_DOGS)
时,R不会为我提供SUM_DOGS
中具有最高100值的城市。它只是返回df.median
。为什么?
最佳答案
您可能需要ungroup
,所以您从整个数据集中选择top_n
,而不是从每个州中选择top_n
(因为您的数据集当前已分组)。
top_n(ungroup(df.median), 100, SUM_DOGS)
关于r - dplyr的top_n()为什么不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36341295/