【问题标题】:Load RData into Shiny - data loaded in R workspace but not in Shiny, no errors produced将 RData 加载到 Shiny - 数据加载到 R 工作区但不在 Shiny 中,不会产生错误
【发布时间】:2015-09-14 05:37:57
【问题描述】:

目标:我寻求下载我在GitHub 上上传的数据集(.RData 格式)到Shiny 应用程序,并将该数据集用于各种绘图目的。

技术:我正在使用repmis 包中的source_data 函数将数据加载到我的R 会话中。此加载发生在 global.R 文件中,因此我确信加载的任何数据都可用于在 server.R 文件中绘制函数。

问题:如果我将所有函数从 global.R 转移到 server.R 但就在 shinyServer() 函数之前,我会看到数据已加载到我的 R 工作区中。
但是,没有数据可用于Shiny 应用程序,不会产生错误,只是无法绘制,甚至无法使用dim() 进行检查。

类似问题: 有一个类似的问题 here,但我没有从中获得任何帮助 - 无论如何,我正在将数据加载到 Global.R 而不是 server.Rui.R.
另一个问题是here,但用户将数据读入反应源。我的数据不会改变,所以我将其加载到global.R 文件中。


全球.R

#global.R

#-------------------- Loading Libraries ------------------------#   

library(repmis)
library(lubridate)
library(dplyr)
library(xts)
library(dygraphs)




#-------------------- Loading required data from GitHub Repo -------------------------#

source_data('https://github.com/aliarsalankazmi/SHB_FB_App/raw/master/Data/shbPageData.RData')



#-------------------- Manipulating data for further processing -------------------------#

shb$created_date <- ymd(gsub('T.*', '', shb$created_time))

pageData <- tbl_df(shb) %>%
        arrange(created_date)

byDay <- pageData %>%
        group_by(created_date) %>%
        select(created_date, comments_count, likes_count, shares_count) %>%
        summarise(totalPosts = n(),
              totalLikes = sum(likes_count),
              totalComments = sum(comments_count),
              totalShares = sum(shares_count)) %>%
        arrange(created_date)

#-------------------- Manipulating data for an Overall View  -------------------------#

byDayxts <- as.xts(x = as.matrix(as.data.frame(byDay[,colnames(byDay) != 'created_date'])), order.by = byDay$created_date)

服务器.R

#server.R

library(shiny)
library(dygraphs)


shinyServer(function(input, output, session) {


#---------------------- Plotting for a General Overview --------------------#

    totalOverview <- renderDygraph({
                byDayxts[, colnames(byDayxts) == 'totalPosts'] %>%
                dygraph(main = 'Total Posts per Day Since Beginning', group = 'overall') %>%
                dyAxis('x', drawGrid = FALSE) %>%
                dySeries('totalPosts', label = 'Total Posts') %>%
                dyOptions(includeZero = TRUE, gridLineColor = "lightblue", colors = '#d8b365') %>% 
                dyRangeSelector()
            })    
})

Ui.R

#ui.R

library(shiny)
library(dygraphs)

shinyUI(fluidPage(

    titlePanel(h1("Facebook Data Analysis")),
    tabsetPanel(
        tabPanel("Graphs",
                fluidRow(
                    column(width = 6, dygraphOutput("totalOverview"))
                    )
            )
        )
    )
)

【问题讨论】:

    标签: r shiny rdata


    【解决方案1】:

    应该是:

    output$totalOverview <- renderDygraph({ ... })
    

    不是:

    totalOverview <- renderDygraph({ ... })
    

    【讨论】:

    • 哎呀,最愚蠢的错误。谢谢。
    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2018-03-24
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多