Ich versuche, den Benutzer laden eine CSV-Datei, dann eine Spalte (Faktor) dieser CSV-Datei und erstellen Benutzereingaben von, um festzustellen, welche der eindeutigen Namen in diesem Feld wird für den Datenrahmen ausgewählt.Filterung von selectInput in R glänzend
Also, wenn ich das folgende Beispiel data.frame haben:
COURSE VALUE
1 A 7
2 C 2
3 C 2
4 B 9
...
Ich möchte würde mit SELECT_INPUT und dem Benutzer filtern können wählen wählen sagen A und C und der Datenrahmen für gerade Zeilen gefiltert werden würde Unterhalb mit A und C ist der Code, der für die UI SELECT_INPUT
output$choose_course<-renderUI{
# If missing input, return to avoid error later in function
if(is.null(input$model.input))
return()
# Get the data set with the appropriate name
course.names <-c("All",as.vector(t(unique(select_(model.data0(),"COURSE")))))
selectInput("courses","Choose courses", choices=course.names, multiple=TRUE)
}
Man beachte, dass model.data0() sind die reaktiven Daten durch den Benutzer über eine CSV-Datei eingegeben zu erzeugen. Dieser erste Teil des Codes funktioniert in Ordnung (aber vielleicht ist das Format verwirrend die nächsten Sachen?) Und zeigt für die Benutzereingabe Auswahlen an. Und nächstes haben wir meinen Versuch Filterung von der selectInput ...
model.data<-reactive({
if(is.null(input$model.input))
return()
localdata<-model.data0()
if(input$courses!="All"){
localdata<-localdata[localdata$COURSE==unlist(input$courses),]
}
})
Doch diese gibt einen Fehler von „Argument 1 (Typ‚Liste‘) nicht durch‚Katze‘behandelt werden“. Ich habe versucht, die Unlist oben zu einem Vektor zu ändern, aber schien nicht zu arbeiten. Irgendwelche Ideen, wie ich diesen Filter zu meinen Daten machen kann?
Apologies, es scheint, dass ich nicht richtig die Ausgabe für meinen Test-Format habe und das ist, wo ich von den Fehlern. –