Googlevis y Shiny
Pregunta
Estoy tratando de crear una aplicación brillante que traza los datos como una tabla de burbujas.El problema que estoy teniendo es el subconjunto.El usuario puede elegir el subconjunto de datos con algunas de las entradas.A continuación se muestra algunos del código que tengo.Sigo obteniendo este error: Error in data.frame(
NGERACERACODICIONGCODECODE
global.r
#Import File From Computer
data <- read.csv("C:\\Users\\User\\Documents\\Project\\Shiny\\data.csv", header=TRUE)
Los datos se pueden replicar con los siguientes comandos:
Type <- c('A','A','A','B','B','B','C','C','C',)
Date <- as.Date(c('2010-11-1','2008-3-25','2007-3-14','2010-11-1','2008-3-25','2007-3-14','2010-11-1','2008-3-25','2007-3-14'))
Run <- c('RUN1','RUN2','RUN3','RUN1','RUN2','RUN3','RUN1','RUN2','RUN3')
Var1 <- c(1,2,3,4,5,6,7,8,9)
Var2 <- c(2,4,6,8,10,12,14,16,18)
Var3 <- c(3,6,9,12,15,18,21,24,27)
Var4 <- c(4,8,12,16,20,24,28,32,36)
data <- data.frame(Type,Date,Run,Var1,Var2,Var3,Var4)
ui.r
library(googleVis)
shinyUI(fluidPage(
titlePanel("Visualization Tool"),
sidebarLayout(
headerPanel('Data Selection'),
sidebarPanel(
selectInput('x', 'X Variable', names(data)),
selectInput('y', 'Y Variable', names(data)),
selectInput('z', 'Z Variable', names(data),
selected=names(data)[[5]]),
checkboxGroupInput('Type', 'Type', c(
"A"="A",
"B"="B",
"C"="C")),
checkboxGroupInput('Run', 'Run', c(
"RUN1"="RUN1",
"RUN2"="RUN2",
"RUN3"="RUN3"))
)),
mainPanel(htmlOutput(("chart"))
)
))
server.r
library(shiny)
library(googleVis)
shinyServer(function(input, output){
datasetInput <- total
output$chart <- renderGvis({
gvisBubbleChart(datasetInput, idvar=input$Name, xvar=input$x, yvar=input$y,
color=input$Name, sizevar=input$z)
})
})
Solución
Me di cuenta ... En ui.r, cambié los nombres a un vector
xx<-c("Type"="Type", "Date"="Date", "Run"="Run","Var1"="Var1","Var2"="Var2","Var3"="Var3","Var4"="Var4")
ui.r se convierte en:
library(googleVis)
shinyUI(fluidPage(
titlePanel("Visualization Tool"),
sidebarLayout(
headerPanel('Data Selection'),
sidebarPanel(
selectInput('x', 'X Variable', xx),
selectInput('y', 'Y Variable', xx),
selectInput('z', 'Z Variable', xx),
checkboxGroupInput('Type', 'Type', c(
"A"="A",
"B"="B",
"C"="C")),
checkboxGroupInput('Run', 'Run', c(
"RUN1"="RUN1",
"RUN2"="RUN2",
"RUN3"="RUN3"))
)),
mainPanel(htmlOutput(("chart"))
)
))
server.r se convierte:
library(shiny)
library(googleVis)
shinyServer(function(input, output){
datasetInput <- reactive({data[data$Type %in% input$Type,]})
output$chart <- renderGvis({
gvisBubbleChart(datasetInput(), idvar="Type", xvar=input$x, yvar=input$y,
color="Type", sizevar=input$z)
})
})
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow