R: Как построить линейный график на основе результатов двух разных сводных таблиц - PullRequest
0 голосов
/ 09 марта 2020

Пожалуйста, проверьте пример набора данных, показанного ниже.

В первой сводной таблице мне нужно рассчитать счетчик late_days (All) для пользователя и по месяцам, а во второй сводной таблице отобразить пользователь- и месяц- мудрый late_days, где late_days = "0 or early"

Теперь я хочу построить линейный график, который представляет значение% для пользователя и месяца (общее количество отсчетов, где late_days = "0 or early" / всего нет числа для всех дней).

Пример: Покупатель 'A' имеет общее количество на январь 2018 = 4, а для 0 или раньше = 1, затем на линейчатом графике должно отображаться значение% (0 или Earl / Total) = 1/4 = 25%. То же самое, что 100%

В строке char пользователь код цвета линии тисков.

Buyer       year_month      Late_Days

A           2018-01         0 or Early
B           2018-01         >=5
C           2018-02         >=10
A           2018-04         0 or Early
A           2018-03         >=5
B           2018-03         >=10
C           2018-05         0 or Early
A           2018-06         >=5
B           2018-07         >=10
A           2018-11         0 or Early
B           2018-11         >=5
A           2019-01         >=10
B           2019-01         0 or Early
A           2019-01         >=5
A           2019-02         >=10

Я создал две сводные таблицы, но не знаю, как построить на этой основе линейную диаграмму.

PivotTable-1

sub_data6 <- subset(inventory, Late_Days=='0 or early',
                    select=c("year_month","Late_Days","Buyer"))
rpivotTable(sub_data6,
  aggregatorName = "Count",
  rows = "Buyer",
  cols = c("year_month"),
  width = "100%",
  height = "500px")

PivotTable-2

sub_data5 <- subset(inventory, select=c("year_month","Late_Days","Buyer"))

rpivotTable(sub_data5,
  aggregatorName = "Count",
  rows = "Buyer",
  cols = c("year_month"),
  width = "100%",
  height = "500px")

Результат dput (df)

year_month("12-2019", "01-2020", "01-2020", "06-2018", "08-2018", "09-2018", "12-2018", "03-2019",
 "11-2016", "11-2016", "04-2019", "07-2017", "08-2017", "09-2017", "10-2017", "11-2017", "12-2017",
 "01-2018", "02-2018","03-2018", "04-2018", "05-2018", "06-2018", "07-2018", "08-2018", "09-2018",
"07-2017", "08-2017", "09-2017", "10-2017", "11-2017", "12-2017", "01-2018", "02-2018","03-2018",
 "04-2018", "05-2018", "06-2018", "07-2018", "08-2018", "09-2018","08-2017", "09-2017", "03-2018",
 "04-2019") Late_Days = c("<=20", "<=10", "<=5", "<=20", "0 or early", "0 or early", "0 or early", 
"0 or early", "0 or early", "<=30", "0 or early", "<=10", "<=5", 
"0 or early", "0 or early", "0 or early", ">30", "<=20", "<=20", 
"<=20", "<=20", ">30", "<=20", "<=5", "<=5", "<=5", "<=5", "<=10", 
"<=10", ">30", "<=5", "0 or early", "<=5", "0 or early", "0 or early", 
"0 or early", "<=10", "<=5", "0 or early", "0 or early", "0 or early"
 "<=20", "<=5", "<=5", "<=5")Buyer = c( 
"C", "D", "D", "D", "D", "A", "D", "A", "A", "C", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "C", "C", "A", "C", "A", "A", "A", 
"A", "B", "B", "A", "A", "B", "B", "B", "A", "A", "C", "C", "A", "A", "A", 
)row.names = c(1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 20L, 31L, 
32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L)

Здесь фактически выполняется преобразование отчетов Excel в панель инструментов r. * 10 32 * enter image description here

...