Я пытаюсь следовать виньетке «Как создать цепь Маркова» (http://datafeedtoolbox.com/attribution-theory-the-two-best-models-for-algorithmic-marketing-attribution-implemented-in-apache-spark-and-r/).
Этот учебник интересен, потому что он использует тот же источник данных, что и я. Но часть кода использует "код Spark SQL" (то, что я получил в ответ на свой предыдущий вопрос Функция Concat_ws() в Sparklyr отсутствует).
Мой вопрос: я много гуглил и пытался решить это самостоятельно. Но я понятия не имею, как, так как не знаю точно, как должны выглядеть данные (автор не привел пример своего ДФ до и после функции).
Как преобразовать этот фрагмент кода в "обычный" код R (без использования Spark) (особенно: функции concat_ws и collect_list вызывают проблемы
Он использует эту строку кода:
channel_stacks = data_feed_tbl %>%
group_by(visitor_id, order_seq) %>%
summarize(
path = concat_ws(" > ", collect_list(mid_campaign)),
conversion = sum(conversion)
) %>% ungroup() %>%
group_by(path) %>%
summarize(
conversion = sum(conversion)
) %>%
filter(path != "") %>%
collect()
Из моего предыдущего вопроса я знаю, что мы можем заменить часть кода:
concat_ws() можно заменить функцией paste().
Но опять же, вмешивается другая часть кода:
collect_list() # describtion: Aggregate function: returns a list of objects with duplicates.
Надеюсь, я описал этот вопрос максимально понятно.