R brillant de passer des variables à partir de sélectionner la liste de réactifs, de la parcelle

Je fais mes premiers essais avec brillant paquet, il est génial. Mais, comme d'habitude, je suis confronté à quelques problèmes. J'ai réussi, à la suite de brillantes tutoriel et googleing, à montrer les deux parcelles différentes de différentes stations météo, mais l'affichage de la même variable.

R brillant de passer des variables à partir de sélectionner la liste de réactifs, de la parcelle

Je voulais ajouter une autre entrée de la liste de sorte qu'il est possible de choisir var est tracé. Lorsque vous essayez d'exécuter le script, ça semble fonctionner sans erreurs mais pas de complot apparaissent, juste le sélectionner des menus.
R brillant de passer des variables à partir de sélectionner la liste de réactifs, de la parcelle

Peut-être il ya une erreur dans le passage de l'variables de serveur.R la sortie oblject parcelles ne sont pas correctement construire, juste une supposition. Essayé de travailler d'une manière générale la création de fonctions fonction d'entrée de vars, mais il me manque quelque chose, peut-être à propos de la réactivité, peut-être correctement passant vars,...

Ce sont les codes de l'interface utilisateur.R

    library("shiny")
shinyUI(pageWithSidebar(

  headerPanel('Comparación de zonas - Temperatura'),

  sidebarPanel(
    selectInput("panel1", "Zona:",
                           list("Zona 1" = "1", 
                                "Zona 2" = "2", 
                                "Zona 3" = "3",
                                "Zona 4" = "4")),
    selectInput("panel2", "Zona:",
                list("Zona 1" = "1", 
                     "Zona 2" = "2", 
                     "Zona 3" = "3",
                     "Zona 4" = "4")),
    selectInput("var", "Variable:",
                list("tempc" = "tempc", 
                     "relhum" = "relhum")),    
  helpText('Al seleccionar la zona se crearán automáticamente
   el gráfico de evolución temporal.')
  ),

  mainPanel(
    conditionalPanel(condition = "inputId == 'panel1'",plotOutput('myplot')
    ),
    conditionalPanel(condition = "inputId == 'panel2'",plotOutput("myplot")
    )    
  )  
))

et le serveur.R

    library(shiny)
library(plyr)
library(ggplot2)
shinyServer(function(input, output) {
formulaText <- reactive(function() {
paste("Gràfica de ggplot: Zona ", input$zona1)
})
# Return the formula text for printing as a caption
output$caption <- reactiveText(function() {
formulaText()
})
# datasets
datos=read.table("data.dat",header=T)
data=as.data.frame(datos)
data=within(data, datetime <- as.POSIXct(paste(date, time),format = "%Y%m%d %H%M%S"))
rams <- reactive({ 
subset(data,data$stat_id %in% places$stat_id[places$Zona == input$panel1])    
})  
plot <- function(var) {
p <- ggplot(rams(),aes(x=datetime, y=var, colour=as.character(stat_id))) +
geom_line()
} 
plot=p(input$var)
if(input$var == "tempc") {
plot <- plot + ylab("Temperatura (ºC)") + xlab(" ") +
ggtitle(gtitol) + theme(legend.title=element_blank()) +    theme(legend.position="bottom") +
scale_y_continuous(limits = c(-20,ylim),breaks=c(seq(-20,ylim,by=2))) }
if (input$var == "relhum") {
plot <- plot + 
ylab("Humedad relativa (%)") + xlab(" ") +  
ggtitle(gtitol) + theme(legend.title=element_blank()) + theme(legend.position="bottom") + 
scale_y_continuous(limits = c(0,100),breaks=c(seq(0,100,by=5))) }
output$myplot <- reactivePlot(function() {
print(plot)
})  
})

Je vous remercie d'avance pour votre aide et conseils

  • plot=p(input$var) est faux
  • Oui, mais ce n'était pas le seul problème. Voir ma réponse ci-dessous. Merci.
  • Bon à savoir aes_string(), que vous pour la publication de cette réponse.
InformationsquelleAutor pacomet | 2013-11-21