2017-05-22 1 views
0

Mon fichier ui.R comporte les éléments suivants qui permettent à l'utilisateur de cocher des cases. Quand j'essayer de faire sens dans mon fichier server.R par:ui.R renvoie les données de la case à cocher à server.R, mais comment convertir "closure" en vecteur dans le fichier server.R?

a <- renderText({ print(input$checkGroup) }) 
df <- df %>% filter(match(mfr, a)) %>% select(df) 

Je reçois l'erreur suivante:

Error in filter_impl(.data, dots) : 'match' requires vector arguments

J'ai essayé la recherche sur StackOverflow une réponse et quelqu'un a suggéré d'utiliser l'opérateur de chat , mais quand je le fais, je reçois

argument 1 (type 'closure') cannot be handled by 'cat'

fluidPage(
    checkboxGroupInput('checkGroup', label = h3("Checkbox group"), 
    choiceNames = list(...), 
       choiceValues = list('N', 'A', 'G', 'K', 'P', 'Q', 'R'), 
       selected = 'N'), 
    hr(), 
    fluidRow(column(3, verbatimTextOutput("value"))) 
)), 

Edit- Hey là et merci pour votre commentaire! Dans mon intrigue, je le bit de code suivant:

<code> x = df[[input$nutri]], </code> 

Comment puis-je modifier cette option pour utiliser df()? Si j'utilise df(), je reçois l'erreur suivante:

filter condition does not evaluate to a logical vector

J'ai essayé de le changer vers

<code> r_df <- reactive({df %>% filter(mfr %in% r_a()) %>% select(df)}) </code> 

mais je reçois

All select() inputs must resolve to integer column positions. The following do not: * df

En tant que headsup- je suis vérifier si le vecteur r_a a un élément égal à une valeur dans le df.

Répondre

0

utilisation: réactifs

r_a <- reactive(input$checkGroup) 
r_df <- reactive({df %>% filter(match(mfr, r_a())) %>% select(df)}) 

puis utilisez r_df() dans le renderPlot

+0

S'il vous plaît voir le message original; aussi, merci pour votre réponse! :) – JsDart

+0

Je l'ai eu le travail! Merci beaucoup pour votre aide! J'ai dû supprimer le bit select (df). – JsDart