我需要找出客户名称,他们是最高和第二高的购买者。
样本数据
Name Sales
pavan 400
kumar 200
mahesh 750
rajesh 550
vasu 900
应该有两个查询,一个用于最高,一个用于第二个高。 我只想要名字而不是排。
答案 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)
来接收机器人值。