我有一个名为的数据框df:
City,State,Price,Dogs
Portland,OR,75,1
Portland,OR,100,3
San Diego,CA,12,4
San Diego,CA,23,5
...
Run Code Online (Sandbox Code Playgroud)
我使用dplyr的summarise和group_by功能......
df.median <- summarise(
group_by(
df,
State,
City
),
MEDIAN_PRICE = median(Price),
SUM_DOGS = sum(Dogs)
)
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时top_n(df.median, 100, SUM_DOGS),R并没有给我带有100个最高值的城市SUM_DOGS.它只是回来了df.median.
为什么?
aos*_*ith 11
您可能需要ungroup,因此您top_n从整个数据集中选择而不是top_n从每个状态中选择(因为您的数据集当前已分组).
top_n(ungroup(df.median), 100, SUM_DOGS)
Run Code Online (Sandbox Code Playgroud)