Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 闪亮应用程序-数据表在本地运行时显示,但在发布时不显示_R_Csv_Rstudio_Shiny - Fatal编程技术网

R 闪亮应用程序-数据表在本地运行时显示,但在发布时不显示

R 闪亮应用程序-数据表在本地运行时显示,但在发布时不显示,r,csv,rstudio,shiny,R,Csv,Rstudio,Shiny,我构建了一个闪亮的应用程序,它依赖于在启动时加载本地存储的CSV文件。当我在电脑上运行闪亮的应用程序时,无论是在RStudio窗口还是谷歌Chrome上,应用程序都会毫无问题地加载和显示数据。即使没有将数据加载到R会话中,情况也是如此。但是,发布应用程序后,主数据表在启动时或点击提交按钮(试图刷新表)后不会显示 当我从使用Shiny的数据表函数切换到使用DT时,这个问题就开始了。我开始使用DT,以便能够将第一列中的名称用作链接。我目前正在开发运行Mavericks的64位Macbook。今天故障

我构建了一个闪亮的应用程序,它依赖于在启动时加载本地存储的CSV文件。当我在电脑上运行闪亮的应用程序时,无论是在RStudio窗口还是谷歌Chrome上,应用程序都会毫无问题地加载和显示数据。即使没有将数据加载到R会话中,情况也是如此。但是,发布应用程序后,主数据表在启动时或点击提交按钮(试图刷新表)后不会显示

当我从使用Shiny的数据表函数切换到使用DT时,这个问题就开始了。我开始使用DT,以便能够将第一列中的名称用作链接。我目前正在开发运行Mavericks的64位Macbook。今天故障排除时刚刚更新了R和RStudio。我也尝试过在运行Windows 8的计算机上发布-数据表仍然不会显示在已发布版本的应用程序中

ui.r代码:

shinyUI(fluidPage(
    titlePanel("Pinball Buyer's Guide"),

    sidebarLayout(
        sidebarPanel(
            helpText("Whether you're looking for a great value on a machine to buy or just want to find a new table you'd
                     like to play, this guide will help you find a table based on your tastes. Use the sliders below to
                     assign a weight to each category of your table ranking score. The site will use that to generate
                     a score for each of the available tables and to determine how much bang for your buck each table
                     represents."),

            sliderInput('rating',
                    label = 'Player Ratings',
                    value = 1, min = 0, max = 5, step = .25),

            sliderInput('game',
                    label = 'Game Design',
                    value = 1, min = 0, max = 5, step = .25),

            sliderInput('art',
                         label = 'Art',
                        value = 1, min = 0, max = 5, step = .25),


            sliderInput('sound',
                    label = 'Sound',
                    value = 1, min = 0, max = 5, step = .25),

            sliderInput('other',
                         label = 'Other Game Aspects',
                        value = 1, min = 0, max = 5, step = .25),

            sliderInput('staff',
                         label = 'Pinside Staff Ratings',
                        value = 1, min = 0, max = 5, step = .25),

            helpText("Excluding the production year in the pricing model will likely push older tables
                     to the top of the bargain rankings. If you'd prefer a newer machine, leave this checked."
                ),

            checkboxInput('year',
                         label = 'Include Machine Year in Price Model?',
                         value = TRUE),

            submitButton('Submit')

            ),


        mainPanel(
            tabsetPanel(
                tabPanel("Main",
                    br(),
                    textOutput('topTableExplainer'),
                    br(),
                    dataTableOutput('topTables'),
                    br()

                ),
                tabPanel("About This App", 
                         tags$body(textOutput('summary')),
                         br()
                )
            )
        )
    )
))

服务器.r代码:

library(DT)
pinData <- read.csv('./Data/pinDataMassaged.csv', header=TRUE, stringsAsFactors = FALSE)

userTable <- data.frame()

shinyServer(function(input, output){

    getUserFrame <- reactive({
        userScore <- pinData$rating * input$rating + pinData$gameDesign * input$game + pinData$artwork * input$art +
            pinData$sound * input$sound + pinData$otherRating  * input$other + pinData$staffRating * input$staff

        userTable <- data.frame()
        userTable <- data.frame(pinData, userScore)

        if (input$year == 'TRUE'){
                userModel <- lm(avgValue ~ userScore + age, data = userTable)
        }   else{
                userModel <- lm(avgValue ~ userScore, data = userTable)
        }

        pricePredict <- predict(userModel, userTable)

        pinBargain <- round(pricePredict - userTable$avgValue)

        userTable <- data.frame(userTable, pinBargain)

        userTable <- userTable[,c('nameLink', 'makeAndYear', 'userScore', 'estimatedValue', 'pinBargain')]
    })

    output$topTables <- DT::renderDataTable({

        DT::datatable(data = getUserFrame(),
                    colnames = c('Name', 'Make & Year', 'Your Score', 'Market Price', 'Bargain Amount($)'), 
                    escape = 0, rownames = FALSE, 
                    options = list(pageLength = 20, order = list(2,'desc')))
    })



    output$topTableExplainer <- renderText({
        "The following table presents the top-scoring games based on your criteria. The Bargain Amount column is how much
        of a value buy this game represents when compared to a pricing model based on your criteria. The higher the better. 
        Negative numbers represent games that are overpriced according to the pricing model. 
        Click on the Bargain Amount column to sort by best value. These tables would
        be a great, low-cost way to start your collection."
    })


    output$summary <- renderText({
        "   This app was born after I read way too many 'What should I buy?' discussions on pinball forums. I figured that people
        would appreciate the ability to find great tables based on what they consider most important in a game. As someone longing
        to buy his first pinball machine, I also knew that people would be looking for value tables that they could get a lot of
        game time out of. The data comes from the Pinside top ~250 tables. Some had to be excluded because pricing information
        wasn't available."
    })    

}
)
库(DT)

pinData我能够解决这个问题。我需要将ui.r中的dataTableOutput更改为DT::dataTableOutput。让它在R和本地浏览器中正确运行真的让我很反感,让我认为这是一个数据加载问题,而显示/输出是错误的。MLavoie,感谢您在提交时清理代码。

我能够解决此问题。我需要将ui.r中的dataTableOutput更改为DT::dataTableOutput。让它在R和本地浏览器中正确运行真的让我很反感,让我认为这是一个数据加载问题,而显示/输出是错误的。MLavoie,感谢您在提交时清理代码