如何找到销售额最高和最高的客户?

时间:2018-04-04 12:17:26

标签: r dataframe ranking

我需要找出客户名称,他们是最高和第二高的购买者。

样本数据

Name   Sales
pavan  400
kumar  200
mahesh 750
rajesh 550
vasu   900

应该有两个查询,一个用于最高,一个用于第二个高。 我只想要名字而不是排。

2 个答案:

答案 0 :(得分:0)

更新了答案

R Base Solution

确保名称为Character类型

适用于Max

df[which.max(df$Sales),]$Name
#[1] "vasu"

对于Min

df[which.min(df$Sales),]$Name
#[1] "kumar"

需要注意的是which会返回索引。因此,在上述情况下,which.max返回最大销售价值的索引,反之亦然。因此,我在R的子集化​​外壳中发送索引。

第二高

library(dplyr)

df <- df %>% arrange(desc(Sales))
df$Name[2]
#mahesh

您可以不断更改索引以获得第3和第4个。

答案 1 :(得分:0)

你应该首先在帖子中搜索你的问题。

第二,试试这个:

library(dplyr)
test %>% 
   summarise_at(c('Name', "Sales"), max, na.rm=TRUE) %>% 
   select(Name)

输出是:

# A tibble: 1 x 1
  Name 
  <chr>
1 vasu 

您可以将max函数替换为min以接收所需的输出。或引用select(Name)来接收机器人值。