Ошибка в (функция (классы, fdef, mtable): не удалось найти унаследованный метод для функции 'n' для подписи '' отсутствует '' - PullRequest
0 голосов
/ 30 апреля 2019

Я получаю сообщение об ошибке (функция (классы, fdef, mtable): не удалось найти унаследованный метод для функции 'n' для сигнатуры "отсутствует" ", и я не смог выяснить, в чем проблема.

Я следую примеру Визуализация поездки клиентов с помощью каналов данных R и Adobe Analytics от Тревора Полсена с моими собственными данными. Ниже приведен пример моих данных.

library(dplyr)
library(plotly)

##data example
newdata <- data.frame(customer_id = c(
10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133
,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133
,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133
,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133
,10002133,10002133,10002133,10002133,10002133,10002133,10002133,10002133)
,f_ev = c('hb - transferencias','hb - transferencias','hb - error acceso transferencias'
,'hb - error acceso error app transferencias','hb - error acceso'
,'hb - consulta transferencias','hb - consulta transferencias','hb - consulta transferencias'
,'hb - consulta transferencias','hb - consulta transferencias','hb - consulta transferencias'
,'hb - consulta transferencias','hb - consulta transferencias','hb - consulta transferencias'
,'hb - consulta transferencias','hb - consulta transferencias','hb - consulta transferencias'
,'hb - consulta transferencias','hb - consulta transferencias','hb - consulta transferencias'
,'hb - consulta transferencias','hb - consulta pago transferencias','hb - consulta pago transferencias'
,'hb - consulta pago transferencias','hb - consulta pago','hb - consulta pago'
,'hb - consulta error app transferencias','hb - consulta error app transferencias'
,'hb - consulta error app transferencias','hb - consulta error app pago transferencias'
,'hb - consulta error app','hb - consulta error acceso transferencias','hb - consulta'
,'hb - consulta','hb - consulta','hb - consulta','hb - consulta','hb - consulta'
,'hb - consulta','hb - consulta','hb - consulta','hb - consulta','hb - consulta'
,'hb - consulta','hb - consulta','hb - consulta','hb - consulta'
,'hb - alerta producto o servicio consulta transferencias','hb - alerta producto o servicio consulta error app'
,'hb - alerta producto o servicio consulta','hb - alerta producto o servicio consulta'
,'hb - alerta producto o servicio consulta')
,conversion = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
,order_seq = c(52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20
,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
)

##path generation
paths_stacks = newdata %>% 
  group_by(customer_id) %>% 
  summarize(path = paste0(f_ev, collapse =  " > "),
            conversion = max(conversion)) %>% 
  ungroup() %>%
  group_by(path) %>%
  summarize(
    conversion = sum(conversion),
    path_count = n()
  ) %>% ungroup() %>%
  mutate(
    conversion_rate = conversion/path_count
  ) 

В результате возникает ошибка:

Ошибка в (функция (классы, fdef, mtable): невозможно найти унаследованный метод для функции 'n' для подписи '' отсутствует ''

1 Ответ

0 голосов
/ 30 апреля 2019

Решено! В моем скрипте есть библиотека SparkR, которая маскирует функции с тем же именем, что и dplyr. Исправляя скрипт с соответствующей библиотекой, он работает без проблем

##corrected script
paths_stacks = newdata %>% 
  dplyr::group_by(customer_id) %>% 
  dplyr::summarize(path = paste0(f_ev, collapse =  " > "),
            conversion = max(conversion)) %>% 
  dplyr::ungroup() %>%
  dplyr::group_by(path) %>%
  dplyr::summarize(
    conversion = dplyr::sum(conversion),
    path_count = dplyr::n()
  ) %>% ungroup() %>%
  dplyr::mutate(
    conversion_rate = conversion/path_count
  ) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...