2017-12-28 5 views
0
server <- (function(input, output, session){ 
    s1m <- reactive({c(input$s1m1,input$s1m2,input$s1m3)}) 

    library(stringdist) 
    result <- responses[which.max(apply(responses,1,function(vec,dat){sum(vec==dat)},s1m)),] 

    output$result <- renderUI(result) 
}) 

Ich brauche zu verwenden, um spezifisch einen Zeichenvektor „S1M“ mit den 3 verschiedenen Benutzereingaben erstellen S1M1, s1m2, s1m3 so dass es verwendet werden kann meinen Datenrahmen der Teilmenge "Antworten".r glänzende Server Vektor von Eingaben erstellen für subsetting Datenrahmen

Der Fehler ich habe ist Fehler in vec == dat: Vergleich (1) ist nur für Atom-und Listentypen

und ich denke, es liegt daran, dass s1m durch reaktive gewickelt ist(), und es ist nicht als Vektor betrachtet. Meine Frage ist also, wie ich es in einen Vektor zwinge oder gibt es eine andere Möglichkeit, einen Vektor mit Benutzereingaben zu erstellen?

Vielen Dank euch allen !!

+0

Stellen Sie sicher, 's1m()' anstelle von 's1m' anzugeben, wo erforderlich. – InfiniteFlashChess

Antwort

0

Ich denke, Sie sollten reactiveValues ​​wie unten erstellen. Ich habe das nicht getestet, aber alternativ können Sie sie auch in einen Datenrahmen oder eine Liste einfügen.

server <- (function(input, output, session) { 
    s1m <- reactiveValues({ 
    c(input$s1m1, input$s1m2,input$s1m3) 
    }) 

    library(stringdist) 
    result <- 
    responses[which.max(apply(responses, 1, function(vec, dat) { 
     sum(vec == dat) 
    }, s1m())), ] 

    output$result <- renderUI(result) 
}) 
+0

Ich habe reactiveValues ​​anstelle von reaktiven und s1m() anstelle von s1m und ich habe Fehler in .getReactiveEnvironment() $ currentContext(): Operation nicht ohne einen aktiven reaktiven Kontext erlaubt. (Sie haben versucht, etwas zu tun, was nur innerhalb eines reaktiven Ausdrucks oder Beobachters möglich ist.) Wie kann ich darüber gehen? Ich kann nur einen Zeichenvektor für die Teilmenge verwenden und nicht eine Liste oder df – Jason

+0

aktualisieren Sie Ihre Frage mit 'Beispieldaten' und' u'i und 'server' Codes. Wenn ich nicht die gleichen Daten habe, die Sie verwenden, ist es schwer zu replizieren. – user5249203