Ich versuche, einige Widgets dynamisch zu erstellen, indem ich mit dplyr eine Verbindung zu einer Datenbank herstelle und dann die eindeutigen Werte bestimmter Spalten als Auswahl in den verschiedenen Widgets übergebe. Um den Code reproduzierbar zu machen, gebe ich ein Beispiel, wo ich den eingebauten Vektor 'state.abb' in eine tbl_df von 1 Spalte transformiere, was meiner Meinung nach so funktionieren sollte, als wäre die tbl remote gehostet.Wie übergibt man die Werte einer tbl_df-Spalte als Auswahl in einem glänzenden Widget?
Meine ui.R Datei sieht wie folgt aus:
library(shiny)
library(dplyr)
shinyUI(fluidPage(
titlePanel("Test"),
fluidRow(
#this part works
column(4,
checkboxGroupInput('tbl1', '',
state.abb,
selected = state.abb)
),
#this doesn't work
column(4,
checkboxGroupInput('tbl2', '',
tbl_df(as.data.frame(state.abb)),
selected = tbl_df(as.data.frame(state.abb)))
)
))
)
Während mein server.R ist leer
library(shiny)
library(dplyr)
shinyServer(function(input, output) {
})
Wenn ich die app laufen, ich die erste Checkliste zu sehen, aber die zweite wird nicht angezeigt, da tbl_df(as.data.frame(state.abb))
kein Vektor ist.
Was wäre der richtige Ansatz, um Werte aus einer dplyr-Tabelle in glänzende Widget-Funktionen zu übertragen? Ist das überhaupt empfehlenswert?