Я пытаюсь использовать Блестящая и ggvis к:Создание динамических ggvis диаграммы из загруженного файла в блестящей
1) загрузить набор данных
2) имеют пользователю выбрать 2 колонки (х, у)
3) возвращают ggvis участок отображения (х, у) из выгружаемых набора данных
Я попытался редактирования примеров со страницы Блестящая Interactivity, а также movie explorer пример. Однако диаграмма не отображается.
Я думаю, что моя проблема заключается в загрузке набора данных, но я не знаю с чего начать ... Любые предложения?
Примечание. Я также пробовал это с помощью rCharts, но у меня возникают аналогичные проблемы, когда диаграмма не отображается.
server.R
library(shiny)
library(dplyr)
library(ggvis)
shinyServer(function(input, output, session) {
fileHeaderNames <- reactive({
infile <- input$datfile
if(is.null(infile))
return(NULL)
d <- read.csv(infile$datapath, header = T)
return(names(d))
})
# dynamic variable names
observe({
updateSelectInput(session, 'x', choices = fileHeaderNames())
updateSelectInput(session, 'y', choices = fileHeaderNames())
}) # end observe
# uploading data set
theData <- reactive({
validate(
need(input$datfile != "", "Please upload a file")
)
infile <- input$datfile
dat <- read.csv(infile$datapath,
header = T,
stringsAsFactors = F)
if(is.null(infile)) return(NULL)
data.frame(x = dat[, input$x],
y = dat[, input$y])
})
# A simple visualisation. In shiny apps, need to register observers
# and tell shiny where to put the controls
theData %>%
ggvis(~x, ~y) %>%
layer_points() %>%
bind_shiny("plot", "plot_ui")
})
ui.R
library(ggvis)
library(shiny)
shinyUI(pageWithSidebar(
div(),
sidebarPanel(
fileInput('datfile', ''),
selectInput('x', 'x:' ,'x'),
selectInput('y', 'y:', 'y'),
uiOutput("plot_ui")
),
mainPanel(
ggvisOutput("plot")
)
))
Я могу заставить это работать с googleVis, но я хотел бы использовать некоторые функции, которые недоступны в этом пакете. – maloneypatr