2012-11-15 23 views
12

Farklı RSPudio özelliği Shiny ile farklı web sitelerini gösteren bir web uygulaması oluşturmaya çalışıyorum. Aşağıdaki örneği oluşturdum.RStudio Parlak Koşullu Çizim

Veri seti StokMarket'i seçmek istiyorum, ardından DAX'i seçin ve son olarak çizim görünmelidir. Bu kodu çalıştırırsanız

Şu anda arsa

bana yardım eder misiniz hemen görünür?

ui.R: 
library(shiny) 
library(ggplot2) 

shinyUI(pageWithSidebar(

# Application title 
headerPanel("Plot1"), 
sidebarPanel(
selectInput("dataset", "Dataset", list("mtcars"="cars", "StockMarket"="stocks")), 

conditionalPanel(
    condition = "input.dataset=='stocks'", 
    uiOutput("data") 
)), 
mainPanel(
plotOutput('plotstock')))) 


server.R: 
library(shiny) 
require(ggplot2) 
library(datasets) 

shinyServer(function(input, output) { 

output$data<- reactiveUI(function() { 

selectInput("data", "Choose Dataset", colnames(EuStockMarkets)) 
}) 

output$plotstock <- reactivePlot(function() { 
data<-data.frame(EuStockMarkets) 
p<- ggplot(data,aes(x=seq(1,length(data[,1])),y=DAX))+geom_line(size=1)+ylab("")+opts(title="Time Series") 
print(p) 
})}) 

cevap

18

reactivePlot fonksiyonda da reactivePlot yılında

if (!nzchar(input$dataset)) 
    return(NULL) 

var ben de veri kümesi seçimler ("(Choose one)"="") ve boş bir giriş eklemek istiyorum

if (is.null(input$data)) 
    return(NULL) 

gibi bir şey yapabilirsiniz. Ayrıca

+0

Bu yeniyim, ama eşdeğer olacağını düşünüyorum kontrol emin olun:! 'Eğer (is.null (giriş $ veri kümesi) || nzchar ($ veri kümesi girin)) {return()} ´ – PatrickT

+0

Sadece renderPrint'de, doğru anladığım takdirde, yazdırılan kelimeler NULL yerine boş bir sayfa döndürecek, bunun yerine dönüş (invisible()) olmasını isteyebileceğinizi keşfettim. – PatrickT

0

boş dizeleri

if (!nzchar(input$dataset) || input$dataset=='') 
return(NULL)