в результате преобразования транзакции «невозможно найти унаследованный метод для функции« перекодировать »для сигнатуры» «символ» »Ошибка: как ее решить? - PullRequest
0 голосов
/ 30 апреля 2019

и заранее благодарю за любую помощь, которую вы можете оказать для моей проблемы.

В моем приложении Shiny я создал закладку TabItem, посвященную анализу Market Basket.Я создал функцию, которая превращает мой реактивный набор данных непосредственно в набор данных транзакций, основываясь на пользовательских входах, которые являются общими для всех областей Hello all, и заранее благодарю за любую помощь, которую вы можете оказать в моей проблеме.

В моем приложении Shiny я создал закладку, посвященную анализу корзины.Я создал функцию, которая превращает мой реактивный набор данных непосредственно в набор данных транзакций, основываясь на пользовательских входах, которые являются общими для всех областей на панели мониторинга (выберите магазин, выберите год, выберите квартал, выберите категорию продукта).Чтобы отделить эти операции от других реактивных наборов данных, я создал новый, другой реактивный набор данных.

Проблема заключается в том, что когда я использую свою транзакцию () для этого реактивного набора данных, я получаю эту ошибку везде вприборная панель.Даже другие реактивные наборы данных, которые ранее работали, теперь выпускают это сообщение об ошибке.

Мне понадобится раздел MBA на моей приборной панели, чтобы работать правильно, не мешая другим областям.Даже если он опирается на общие пользовательские вводы.

Это следующие вещи, которые я пробовал:

  • попытка изолировать () реактивный набор данных "транзакция",наряду с единичными входами в той же реактивной ({}) функции;

  • пытается применить функцию транзакции только в выходных данных, которые я создаю в области сервера;

У меня сложилось впечатление, что нужна более тонкая форма обусловленности, но я не знаю, как ее выполнить.

Это функция, которую я создал, из которой я сохраняю связанные переменныек приобретенным продуктам:

transaction <- function(mydata){
  library(arules)
  df <- mydata[complete.cases(mydata), ]
  df[,grepl( "Descrizione", colnames(df))] <- lapply(df[,grepl( "Descrizione", colnames(df))], factor)
  df <- (df[!df$Quantity <0,])
  tr <- data.frame(df[rep(seq_len(dim(df)[1]), df$Quantity), c("CustomerId","OrderDateTime", "DescrizioneCategoryLivello6"),
                      drop = FALSE], row.names=NULL)

  trans <- as(split(tr$DescrizioneCategoryLivello6, tr$CustomerId), "transactions")}

Это операция, которая все испортила и выдает ошибку на приборной панели:

  DF_aggr <- reactive({
    input$TransButton
    aggr <- DF() %>%
   filter(Anno == input$datarange,
          Quarto %in% unlist(input$rangeTime),
         DescrizioneCategoryLivello1 %in% input$category) %>%
     transaction()

aggr })



output$o.table.data <- renderPrint({
summary(DF_aggr())
})
...