2016-07-21 5 views
0

Я новичок в блестящем, и я ничего не знаю о html, у меня есть проблема, чтобы найти способ получить ползунок и числовой ввод одновременно то же самое значение ввода в моем приложении. Также я хотел бы, чтобы, когда я, например, установил числовое значение в значение 25, ползунок автоматически устанавливает значение 25 после нажатия кнопки. Благодарим вас за помощь. Я попробовал, что мой пользовательский интерфейс, но это не работает ...Два входа для одного и того же значения в Shiny

library(shiny) 
shinyUI(fluidPage(
    numericInput(inputId = "num1", 
       label = "Jour limite", 
       value = 10, min = 1, max=500), 
    sliderInput(inputId = "num", 
       label= "Jour limite", 
       value= 10 ,min=1 ,max=500 
), 
    actionButton(inputId="clicks", 
       label= "Actualiser"), 
    plotOutput("courbj") 

)) 

Не знаю, важно ли это, но вот мой код сервера:

print(getwd()) 
CourbeTot <- read.table("data/CourbeTot.csv",header=TRUE,sep=";") 



shinyServer(
    function(input,output) { 
    valeur <- eventReactive(input$clicks, { 
    (input$num) 
    }) 



    output$courbj <- renderPlot({ 
    plot(CourbeTot$DFSurvieTot.time,CourbeTot$DFSurvieTot.ProptionAuDelaDe,xlim=c(1,2*valeur())) 
    }) 

}) 
+0

Я думаю, вам нужно что-то вроде этого: http://stackoverflow.com/questions/21465411/r-shiny-passing-reactive-to-selectinput-choices – Jimbou

+0

Я не понимаю, почему это та же проблема, что и я но, честно говоря, я не мог понять, в чем его проблема (английский не мой родной язык извините). Но если я не ошибаюсь, его проблема немного сложнее, чем моя. – PaoloH

ответ

0

Вы можете попробовать установить (ползунок и числовой) с использованием renderUI на сайте сервера.

здесь UI.R

library(shiny) 
shinyUI(fluidPage(
    uiOutput("INPUT"), 
    uiOutput("SLIDER"), 
    plotOutput("courbj") 
)) 

Здесь Server.R.

library(shiny) 
print(getwd()) 
CourbeTot <- 1:10 

shinyServer(
    function(input,output) { 

    valeur <- reactive({ 
     S <- input$num 
     N <- input$num1 
     max(c(10,S,N)) 
    }) 

    output$courbj <- renderPlot({ 
     plot(c(CourbeTot,valeur())) 
    }) 

    # rective slider and numeric input 
    output$SLIDER = renderUI({ 
     sliderInput(inputId = "num", 
        label= "Jour limite", 
        value= valeur() ,min=1 ,max=500) 
      }) 

    output$INPUT = renderUI({ 
     numericInput(inputId = "num1", 
        label = "Jour limite", 
        value = valeur(), min = 1, max=500) 
    }) 

    }) 

Поскольку вы не предоставили воспроизводимый пример, я создал его. Ползунок и числовой ввод будут меняться в соответствии с другими, соответственно. Это делается 1 за функцию max, которая будет выдавать максимальное значение, установленное одним из двух входов. А также. 2, что входы перемещаются на сервер с помощью renderUI. Вы видите, что я удалил кнопку щелчка из-за проблем с начальным поведением NULL. После этой ошибки вы не можете (или я не нашел способа) выбрать одно значение и обновить другое после клика. Кажется, это блестящая ошибка, уже заданная here. Код не идеален, но я думаю, что это хорошая основа для игры, и вы можете настроить его для своей цели.

+0

Это похоже на то, что я намеревался сделать, даже если я, возможно, не сделал себя очень ясно. Я рассмотрю его, чтобы увидеть, могу ли я реализовать это в своем приложении. Спасибо. – PaoloH

Смежные вопросы