2017-07-11 5 views
2

私はcourseraのデータサイエンスの専門分野の学生ですが、Rコードなどに手を差し伸べるためにインストラクターが表示する例を再作成したい場合があります。 私はその光沢のあるアプリケーションを作成し、2値で光沢のsliderInputを使用していますが、プロットは常に "エラー:無効な引数"と答えています 私はスライダでエラーを検出しました。私が間違ったことをすれば私はギルド私。R:光沢のあるスライダーから取得中にエラーが発生しました

ui.R

library(shiny) 

shinyUI(fluidPage(
    titlePanel("Plot Random Number"), 
    sidebarLayout(
    sidebarPanel(
     numericInput(
     "numeric", 
     "How Many Random Numbers Should be Plotted", 
     value = 1000, 
     min = 1, 
     max = 1000, 
     step = 1 
    ), 
     sliderInput(
     "sliderX", 
     "Pick minimum and maximum X values", 
     min = -100, 
     max = 100, 
     value = c(-50, 50) 
    ), 
     sliderInput(
     "SliderY", 
     "Pick minimum and maximum Y values", 
     min = -100, 
     max = 100, 
     value = c(-50, 50) 
    ), 
     checkboxInput("show_xlab", "Show/Hide X Axis Label", value = TRUE), 
     checkboxInput("show_ylab", "Show/Hide Y Axis Label", value = TRUE), 
     checkboxInput("show_title", "Show/Hide plot title", value = TRUE) 
    ), 
    mainPanel(h3("Graph of Random Points"), 
       plotOutput("plot1")) 
) 
)) 

だとそれはあなたがここに変数名を誤って入力しserver.R

library(shiny) 
library(ggplot2) 

shinyServer(function(input, output) { 
    output$plot1 <- renderPlot({ 
    set.seed(12345) 
    num.of.points <- input$numeric 
    minX <- input$sliderX[1] #i know the error here 
    maxX <- input$sliderX[2] #but i guess that's the right way though 
    minY <- input$SliderY[1] #so is anything has changed ! 
    maxY <- input$sliderY[2] 
    dataX <- runif(num.of.points, minX, maxX) 
    dataY <- runif(num.of.points, minY, maxY) 
    labx <- ifelse(input$show_xlab, "X Axis", "") 
    laby <- ifelse(input$show_ylab, "Y Axis", "") 
    main.title <- ifelse(input$show_title, "Title", "") 
    qplot(
     x = dataX, 
     y = dataY, 
     xlab = labx, 
     ylab = laby, 
     main = main.title, 
     xlim = c(-100, 100), 
     ylim = c(-100, 100) 
    ) 
    }) 
}) 

答えて

2

です:

minX <- input$sliderX[1] 
maxX <- input$sliderX[2] 
minY <- input$SliderY[1] 
maxY <- input$sliderY[2] 

を変数名は大文字と小文字が区別されます。 入力では、sliderXSliderYを定義しています。 私はsliderYへの入力の名前を変更し、これにminYを変更することをお勧め:

minY <- input$sliderY[1] 
+0

うわー、私はどのようにuはそれさえもが気づくことができるだろうが、おかげでたくさん私はuがアップ投票与えるだろうが、残念ながら私はまだ初心者です、しかし、あなたの助け合ってくれてありがとう – Snowflake

関連する問題