Загрузить RData в Shiny - данные загружены в рабочее пространство R, но не в Shiny, ошибок нет
Цель: я стремлюсь загрузить набор данных (в .RData
формат) я загрузил на GitHub
к Shiny
приложение, и использовать набор данных для различных целей построения.
Техника: я использую source_data
функция от repmis
пакет для загрузки данных в мой сеанс R. Эта загрузка происходит на global.R
файл, так что я был уверен, что любые загруженные данные будут доступны для построения функций в server.R
файл.
Проблема: я вижу, что данные загружаются в мое рабочее пространство R, если я перенесу все функции из global.R
в server.R
но как раз перед shinyServer()
функция.
Тем не менее, данные не доступны для Shiny
приложение, ошибка не возникает, просто ничего не доступно для построения, или даже проверить с помощью dim()
,
Подобные вопросы: здесь есть похожий вопрос, но я не получил никакой помощи от этого - в любом случае, я загружаю данные в Global.R
а не в server.R
или же ui.R
,
Другой вопрос здесь, но пользователь считывает данные в реактивный источник. Мои данные не будут меняться, поэтому я загружаю их в global.R
файл.
Global.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)
Server.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"))
)
)
)
)
)
1 ответ
Так должно быть:
output$totalOverview <- renderDygraph({ ... })
не:
totalOverview <- renderDygraph({ ... })