dynamisches Filtern mit input_select () unter Verwendung von ggvis in R

Ich verwende die eingebaute "Kokain" -Datenbank, die mit dem @ komggvis -Paket in R zur Visualisierung der Potenzwerte von Kokain in jedem Zustand. Das R-Paketdplyr wurde auch verwendet.

Hier sind die ersten sechs Zeilen descocaine datensatz:

 state potency weight month price
1    WA      77    217     1  5000
2    CT      51    248     1  4800
3    FL      68     43     1  3500
4    OH      69    123     1  3500
5    MS      75    118     1  3400
6    VA      73    127     1  3000

Das Ziel war es, @ zu verwendinput_select()it dem ggvis-Paket können Sie ein Dropdown-Menü erstellen, in dem Sie verschiedene Zustände auswählen und ein Histogramm der Potenzwerte für diesen Zustand anzeigen können. Das ist uns mit folgendem Code gelungen:

state <- as.vector(unique(cocaine$state))

cocaine %>%
          ggvis(~potency) %>%
            filter(state == eval(input_select(
            choices = state,
            selected = "NY",
            label = "State"))) %>%
          layer_histograms(binwidth = 2)

Die Frage ist, warum genau wir den Ausdruck braucheninput_select() von @ "ausgewertet" werdeval(). Eine Vermutung kann das sein, weilfilter ist eine Funktion aus demdplyr Paket und kommuniziert daher nicht in der Umgebung mitggvis; eval initialisiert es daher innerhalb desggvis Umgebung. Vielleicht kann jemand mit einem Konzept mitreden, das uns dabei helfen könnte, dies zu visualisieren?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage