15

さまざまな株をプロットする新しいRStudio機能Shinyを使用してWebアプリケーションを作成しようとしています。次の例を作成しました。

データセットStockMarketを選択し、次にDAXなどを選択すると、最後にプロットが表示されます。

現在、このコードを実行すると、プロットがすぐに表示されます

私を手伝ってくれますか?

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)
 })})
4

2 に答える 2

20

関数では、次のreactivePlotようなことができます

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

また、データセットの選択肢に空白のエントリを追加し("(Choose one)"="")、

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

reactivePlot

于 2012-11-15T18:40:30.547 に答える
0

また、空の文字列を確認してください

if (!nzchar(input$dataset) || input$dataset=='')
return(NULL)
于 2015-03-25T01:57:50.577 に答える