Как принимать аргументы, принимать пользовательский ввод и хранить данные? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть список

PID_short  PID_full 
   420     44101445
   419     44101375
   418     44101344
   417     44100125
   416     44095813
   415     44100240
data <- data.frame(PID_short = seq(from = 420, to = 415, by = -1),  
                   PID_full = c(44101445, 44101375, 44101344, 44100125, 44095813, 44100240))

Я хочу создать пользовательский интерфейс Graphi c, который при вводе PID_short отображает PID_full. Например, когда я ввожу 420, будет показано 44101445.

Я действительно новичок в R. Но я попробовал, и вот мой код:

  library(shiny)

ui <- shinyUI(fluidPage(

  titlePanel(title=h3("Please select the information :", align = "center")),
  sidebarLayout(
    sidebarPanel(
      sliderInput("slide","Select the value of PID_short ", min = 415, max = 420, value = 417)      
      ),
    mainPanel(
      textOutput("out")
    ))))


server <- shinyServer(function(input,output){

  output$out <- renderText(
    paste("The PID_full is:",input$slide)
)})

shinyApp(ui = ui, server = server)

Где я должен изменить свой код? Или как мне написать лучше? Пожалуйста, помогите мне ... Я буду очень признателен.

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете отфильтровать кадр данных, чтобы сохранить только те строки, для которых PID_short равно входу. Затем вы выбираете значение PID_full с помощью select:

library(shiny)
library(dplyr)

data <- data.frame(PID_short = seq(from = 420, to = 415, by = -1),  
                   PID_full = c(44101445, 44101375, 44101344, 44100125, 44095813, 44100240))

ui <- shinyUI(fluidPage(

  titlePanel(title=h3("Please select the information :", align = "center")),
  sidebarLayout(
    sidebarPanel(
      sliderInput("slide","Select the value of PID_short ", min = 415, max = 420, value = 417)      
    ),
    mainPanel(
      textOutput("out")
    ))))


server <- shinyServer(function(input,output){

  output$out <- renderText(
    paste("The PID_full is:", 
          data %>% 
            filter(PID_short %in% input$slide) %>% 
            select(PID_full))
  )})

shinyApp(ui = ui, server = server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...