打造年度最受欢迎汽车品牌

时间:2021-01-17 19:12:50

标签: r dplyr

想象一个非常大的数据库(汽车),其中包含某个国家/地区的汽车品牌、年份和销量。

Ex(完全随机):在 .csv 文件中,我们有:

carbrand - year - sales
toyota - 1950 - 3540
toyota - 1951 - 3433
toyota - 1952 - 3678
...
ford - 1950 - 4322
ford - 1951 - 2987
...
subaru - 1950 - 6544
subaru - 1951 - 5454
...

我想要做的是建立每年最受欢迎的品牌。输出格式本身在这里不是很重要。只是在寻找想法。 例如:

1950: subaru - 6544
1951: subaru - 5454
1952: toyota - 3678

目前我能做的就是按照销量最高的来对它们进行排名:

Cars <- read_delim("file.csv",delim=" - ")
Cars %>% arrange(desc(sales))
subaru - 1950 - 6544
subaru - 1951 - 5454
ford - 1950 - 4322
toyota - 1952 - 3678
toyota - 1950 - 3540
toyota - 1951 - 3433
ford - 1951 - 2987

1 个答案:

答案 0 :(得分:1)

只需按 Year 分组,降序排序并保留每组的第一行。

library(dplyr)

Cars %>%
  group_by(Year) %>%
  arrange(desc(Quant)) %>%
  slice(1)
## A tibble: 3 x 3
## Groups:   Year [3]
#  Car     Year Quant
#  <chr>  <dbl> <int>
#1 subaru  1950  6544
#2 subaru  1951  5454
#3 toyota  1952  3678

数据

cars <- "
Car - Year - Quant
subaru - 1950 - 6544
subaru - 1951 - 5454
ford - 1950 - 4322
toyota - 1952 - 3678
toyota - 1950 - 3540
toyota - 1951 - 3433
ford - 1951 - 2987"

tc <- textConnection(cars)
Cars <- read.delim(tc, sep = "-")
close(tc)
相关问题