2017-12-08 3 views
-1

Wenn Sie das folgende Skript ausführen, erhalten Sie eine Datentabelle für Irisdaten und einen Bereichsschieberegler, der Werte größer als und gleich dem ausgewählten Punkt im vorherigen Kreis Ihrer Auswahl in gibt der Schieberegler. Ich möchte eine Logik so, dass, wenn links Slider-Knoten bei Sage 5 und rechts Slider bei 7 gehalten wird, möchte ich die Daten angezeigt werden "= und über 5" und "< und gleich 7" .Diese Werte sollten jedoch dynamisch sein. Auch für die zwei Kreise auf den Schiebereglern gibt es eine Möglichkeit, dreieckige Widgets zu geben, die klein sind. Anfügen des Snapshots zur Referenz Danke und bitte helfen Sie.Handhabung und Optimierung eines Bereichsschiebereglers in R

#App 
library(shiny) 
library(shinydashboard) 
library(dplyr) 
library(scales) 
library(DT) 

#Declaring the UI 
ui <- fluidPage(
titlePanel("Slider Test"), 
fluidRow(
column(4, 
     sliderInput("range", "Select the Name Similarity %", 
        min = 4, max = 8, 
        value = c(min,max))) 

), 

# Create a new row for the table. 
fluidRow(
DT::dataTableOutput("table") 
) 
) 
#Declaring the Server 
server <- function(input, output) { 
output$table <- DT::renderDataTable(DT::datatable({ 
Prod_total1  <- subset(iris, as.numeric(sub("%", "", 
iris$Sepal.Length)) >= input$range) 
    Prod_total1 
})) 
} 
shinyApp(ui, server) 

Slider Snapshot

Antwort

1

um sliderInput Werte im Bereich Modus zuzugreifen bitte input$range[1] verwenden, um die ersten extremen zuzugreifen und input$range[2] zuzugreifen die zweiten

#App 
library(shiny) 
library(shinydashboard) 
library(dplyr) 
library(scales) 
library(DT) 

#Declaring the UI 
ui <- fluidPage(
    titlePanel("Slider Test"), 
    fluidRow(
    column(4, 
      sliderInput("range", "Select the Name Similarity %", 
         min = 4, max = 8, 
         value = c(min,max))) 

), 

    # Create a new row for the table. 
    fluidRow(
    DT::dataTableOutput("table") 
) 
) 




#Declaring the Server 
server <- function(input, output) { 
    output$table <- DT::renderDataTable(DT::datatable({ 
    iris[iris$Sepal.Length >= input$range[1] & iris$Sepal.Length <= input$range[2],] 
    })) 
} 
shinyApp(ui, server) 
+0

Wenn ich halte den ersten Punkt des Schiebers bei 5 sehe ich immer noch sepal.length Werte kleiner als 5, ich will Wert> = erster Punkt und Wert <= zweiter Punkt auf dem Schieberegler. Bitte helfen –

+0

Genau, aber wenn ich Ihren Code ausführen, sehe ich immer noch Sepal.Length Werte kleiner als 5, wenn der linke Schieberegler bei 5 platziert ist, bitte überprüfen Sie –

+0

Irgendwelche Hinweise hier? –