Ошибка в rle (toplevel): «x» должен быть вектором типа atomi c - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь опубликовать sh приложение в shiny, и когда я нажимаю publish, я получаю следующую ошибку:

Error in rle(toplevel) : 'x' must be a vector of an atomic type.

Похоже, возвращаемое значение eventReactive не на что надеялись ([sic] ни правильно), но я не знаю, как решить проблему. Мой код указан ниже, и я ценю вашу помощь.

# Load the ggplot2 package which provides
# the 'mpg' dataset.
library(ggplot2)
library(readxl)

function(input, output) {
    auto_parts <- read_excel("./Auto-parts-bien2.xlsx", col_types = c("text", "text", "text",  "numeric", "numeric", "numeric", "numeric", "numeric",  "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric"))

    re <- eventReactive(input$update,{
        data <- data.frame(auto_parts)
        data <- data[(data$Market.Value..EUR. >= input$marketcap[[1]])&(data$Market.Value..EUR. <= input$marketcap[[2]]),]
        data <- data[(data$Price.to.Earnings >= input$per[[1]])&(data$Price.to.Earnings <= input$per[[2]]),]
        data <- data[(data$Price.to.Book >= input$pb[[1]])&(data$Price.to.Book <= input$pb[[2]]),]
        data <- data[(data$Price.Index.48.m >= input$growth[[1]])&(data$Price.Index.48.m <= input$growth[[2]]),]
        data <- data[(data$ROIC.5.yr.avg >= input$roic[[1]])&(data$ROIC.5.yr.avg <= input$roic[[2]]),]
        if(input$ebitda == "Positive"){
            data <- data[data$X5yr.Growth.EBITDA >= 0,]
        }else {
            data <- data[data$X5yr.Growth.EBITDA <= 0,]
        }
        if(input$country != "All"){
            data <- data[data$Country == input$country,]
        }
        drop <- c("Piotroski.F.Score","Price.Index.12.m","Price.Index.48.m","X5yr.Growth.EBITDA"
                  ,"ROIC.5.yr.avg","Price.to.Sales","Fcf.Yield.5.yr.avg")
        data_2 <- data[!(names(data) %in% drop)]
        as.matrix.data.frame(data_2)
    })
    # Filter data based on selections
    output$table <- DT::renderDataTable(DT::datatable({
         re()
    }))

}

1 Ответ

0 голосов
/ 13 апреля 2020

Через 5 дней схожу с ума от этого. Я решил проблему. Это не было связано с кодом, путь, по которому находилось приложение, имел странные символы. Надеюсь, это поможет всем вам

...