如何获得10个最有价值的客户(例如,终身订单总额最高的客户)[r]

如何获得10个最有价值的客户(例如,终身订单总额最高的客户)[r],r,R,我已经运行了这段代码来找出10个最有价值的客户。然而,我有点不确定如何总结客户的生命周期总数,以便结果显示10位客户。如果有人知道如何解决这个问题,我非常感谢你的意见 CustomersData %>% arrange(desc(OrderTotals) %>% head(10) 它产生这个输出 X First_Name Last_Name Customer_ID Customer_DOB Customer_Age OrderTotals 1 990 Chase

我已经运行了这段代码来找出10个最有价值的客户。然而,我有点不确定如何总结客户的生命周期总数,以便结果显示10位客户。如果有人知道如何解决这个问题,我非常感谢你的意见

CustomersData %>% arrange(desc(OrderTotals) %>% head(10)
它产生这个输出

X First_Name Last_Name Customer_ID Customer_DOB Customer_Age OrderTotals
1   990      Chase    Pascoe        1896   1974-02-08           46      531.29
2  2095      Chase    Pascoe        1896   1974-02-08           46      531.29
3  2161      Chase    Pascoe        1896   1974-02-08           46      531.29
4  2340      Chase    Pascoe        1896   1974-02-08           46      531.29
5  2578      Chase    Pascoe        1896   1974-02-08           46      531.29
6  3032      Chase    Pascoe        1896   1974-02-08           46      531.29
7  3314      Chase    Pascoe        1896   1974-02-08           46      531.29
8  3373      Chase    Pascoe        1896   1974-02-08           46      531.29
9   440     Sydney     Jaffe        1944   1987-11-11           32      507.62
10 2424     Sydney     Jaffe        1944   1987-11-11           32      507.62
数据帧的dput为

dput(droplevels(CustomersData[1:10, ]))
structure(list(X = 1:10, First_Name = structure(c(1L, 7L, 8L, 
2L, 4L, 9L, 6L, 3L, 5L, 10L), .Label = c("Ariel", "Gabrielle", 
"Jamar", "Jennifer", "Johnique", "Joshua", "Kinshasa", "May", 
"Shahida", "Tyler"), class = "factor"), Last_Name = structure(c(3L, 
7L, 8L, 4L, 9L, 6L, 5L, 10L, 1L, 2L), .Label = c("Beckley", "Dickerson", 
"Dirrim", "Finley", "Fung-A-Fat", "Nguyen", "Purifoy", "Sue", 
"Towns", "Williams"), class = "factor"), Customer_ID = c(1251L, 
290L, 1714L, 381L, 109L, 1093L, 616L, 1334L, 1571L, 1056L), Customer_DOB = structure(c(10L, 
5L, 8L, 7L, 9L, 4L, 2L, 3L, 1L, 6L), .Label = c("1961-07-13", 
"1962-07-08", "1968-02-12", "1979-04-04", "1980-10-31", "1993-11-14", 
"1996-09-03", "1999-02-10", "2000-07-07", "2000-08-12"), class = "factor"), 
    Customer_Age = c(20L, 39L, 21L, 24L, 20L, 41L, 58L, 52L, 
    59L, 26L), OrderTotals = c(105.95, 224.08, 74.19, 189.72, 
    285.13, 127.42, 211.25, 131.96, 86.21, 46.45)), row.names = c(NA, 
10L), class = "data.frame")

您可以为每个
Customer\u ID
选择
sum
OrderTotals
,然后选择前10名客户

library(dplyr)

CustomerData %>%
  group_by(Customer_ID) %>%
  summarise(OrderTotals = sum(OrderTotals)) %>%
  slice_max(OrderTotals, n = 10)
  #If you have an older version of dplyr use top_n
  #top_n(10, OrderTotals)

base R
中,我们可以

out <- aggregate(OrderTotals ~ Customer_ID, CustomerData, sum)
head(out[order(-out$OrderTotals),], 10)
out