rle(toplevel)中的错误:'x'必须是原子类型的向量

问题描述 投票:-1回答:1

我正在尝试在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()
    }))

}
r shiny publishing
1个回答
0
投票

在5天后为此感到疯狂。我已经解决了这个问题。它与代码无关,应用程序所在的路径具有奇怪的字符。希望对大家有帮助

© www.soinside.com 2019 - 2024. All rights reserved.