У меня есть следующий набор данных:
library(tidyverse)
dataset <- data.frame(id = c(121,122,123,124,125),
segment = c("A","B","B","A",NA),
Web = c(1,1,1,1,1),
Tryout = c(1,1,1,0,1),
Purchase = c(1,0,1,0,0),
stringsAsFactors = FALSE)
Применение некоторых преобразований, возможно иметь воронку преобразования (спасибо г-ну Акруну за этот код):
dataset <- dataset %>%
select(-id) %>%
pivot_longer(cols = -segment) %>%
group_by(name) %>%
mutate(Total = sum(value)) %>%
group_by(name, segment, Total) %>%
mutate(n = sum(value)) %>%
ungroup %>%
select(-value) %>%
distinct %>%
pivot_wider(names_from = segment, values_from = n)
для эта таблица:
name Total A B `NA`
Web 10 5 3 2
Tryout 8 3 3 2
Purchase 5 2 2 1
Теперь соотношение воронок определяется операциями со строками, например, Попробовать / Интернет, Покупка / Проба, Покупка / Интернет
name Total A B `NA`
Tryout/web 0.8 0.6 1 1
Purchase/Tryout 0.625 0.667 0.667 0.5
Purchase/web 0.5 0.4 0.667 0.5
Я пытался сделать это строкой за строкой, а затем связывать за строкой с этим кодом:
dataset_row1 <- dataset[2,-1]/dataset[1,-1]
Но я получаю сообщение об ошибке, Error in FUN(left, right) : non-numeric argument to binary operator
Пожалуйста, любые советы будут высоко оценены.