Исходный набор данных аналогичен фиктивному набору данных, здесь я создал новый столбец общих продаж, основанный на сумме дневных продаж, а также отсортировал основанный на df порядок убывания общей стоимости продаж
library(dplyr)
empid <- c(10,11,12,13,14,15) # Employee id
city <- c("Goa","Goa","Goa","Goa","Goa","Goa") # City
Day1 <- c(5,15,5,9,2,9) # Sales made on Day 1 and so on...
Day2 <- c(5,3,8,5,10,7)
Day3 <- c(3,9,6,4,8,10)
Day4 <- c(7,6,8,8,2,8)
salesdata <- data.frame(empid,city,Day1,Day2,Day3,Day4)
#str(salesdata)
salesdata<- salesdata %>% mutate(Total_Sales = rowSums(.[3:6])) ## New Column creation Total sales
salesdata <- salesdata[order(-salesdata$Total_Sales),] ## Sorting df - salesdata, basis total sales value in descending order
Просмотр (salesdata)
Вопрос # 1 Мне нужно объединить emp id в парный (всего 3 пары) подход сначала к последнему (по общему объему продаж, сначала от наивысшего к низшему, затем так далее) и он должен выглядеть примерно так, как показано ниже, так что «Новый набор операций (Ques-2) может быть выполнен с использованием group_by (Pair_number) для каждой пары.
Ожидается это в выходных данных
empid city Day1 Day2 Day3 Day4 Total_Sales Pair_number
15 Goa 9 7 10 8 34 P1
10 Goa 5 5 3 7 20 P1
11 Goa 15 3 9 6 33 P2
14 Goa 2 10 8 2 22 P2
12 Goa 5 8 6 8 27 P3
13 Goa 9 5 4 8 26 P3
Вопрос № 2. Затем мне нужно рассчитать стимул продаж "Мудрый день" (4 новых столбца, которые будут созданы для каждой пары) для каждой пары (p1, p2, p3), которая будет похожа на Incentive-Day1 (новый столбец) для «P1» - если значение продаж обоих emp id - 15 и 10 больше 5 (по отдельности), умножьте дополнительное значение продаж на 50. Таким образом, минимальный критерий равен 5 + 5 = 10, любое значение больше 10 - быть * на 50. Для P1 на Да y1 это 9 + 5 = 14, дополнительная продажная стоимость равна 4, поэтому значение стимула для Дня 1 / Пара1 объединяется в 200. В противном случае пара получает дисквалификацию из-за стимула на этот день.
Ожидаемый результат
empid city Day1 Day2 Day3 Day4 Total_Sales Pair_number Incent-Day1 Incent-Day2 Incent-Day3
15 Goa 9 7 10 8 34 P1 200 100 Disqualified
10 Goa 5 5 3 7 20 P1
11 Goa 15 3 9 6 33 P2 Disqualified Disqualified 350
14 Goa 2 10 8 2 22 P2
12 Goa 5 8 6 8 27 P3 200 150 Disqualified
13 Goa 9 5 4 8 26 P3