我有一个数据集,其中包含产品及其销售数量。我想写一个R代码,告诉我最畅销的产品。
Products Quantity
Laminated 520
Laminated 150
Laminated 639
Laminated 702
SUPERSTAR 3
TAMAX 500
TAMAX 20
TAMAX 40
GreenDragon 40
GreenDragon 50
XPLODE 40
XPLODE 20
EXPERT 40
KHANJARBIOSL 40
在这里,仅通过查看数据集,我们就可以说层压是销售数量方面最好的产品。我们可以为此编写一个 R 代码吗?
谢谢
可能有多种方法可以做到这一点。使用tapply
的一种方法是获取每个Product
的Quantity
sum
,获取最大值的名称。
names(which.max(tapply(df$Quantity, df$Products, sum, na.rm = TRUE)))
#[1] "Laminated"
您可以使用 data.table 包。首先进行求和,然后根据聚合值按降序排序。然后获取第一行。
tb = data.frame("Products" =c("Laminated", "Laminated", "Laminated", "Laminated", "SUPERSTAR", "TAMAX", "TAMAX", "TAMAX", "GreenDragon", "GreenDragon", "XPLODE", "XPLODE", "EXPERT", "KHANJARBIOSL"), "Quantity" = c(520,150,639,702,3,500,20,40,40,50,40,20,40,40))
library(data.table)
tb = data.table(tb)
tb[,sum(Quantity), by="Products"][order(-V1)][1]