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

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

我使用了dplyrsummarisegroup_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/

10-12 19:43