Динамическая фильтрация с помощью input_select() с использованием ggvis в R

Я использую встроенную базу данных "кокаина", которая поставляется с ggvis упаковка в R для визуализации количества потенции кокаина в каждом состоянии. Пакет R dplyr также был использован.

Вот первые шесть строк cocaine Набор данных:

 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

Целью было использовать input_select() в пакете ggvis, чтобы создать выпадающее меню, в котором можно выбрать различные состояния и посмотреть гистограмму подсчета активности для этого состояния. Нам удалось сделать это с помощью этого кода:

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

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

Вопрос в том, почему именно нам нужно выражение input_select() быть "оцененным" eval() , Догадка может быть, потому что filter это функция из dplyr пакет и, следовательно, не общается в окружающей среде с ggvis; eval поэтому инициализирует его в пределах ggvis среда. Возможно, кто-то может присоединиться к концепции, которая может помочь нам визуализировать это?

0 ответов

Другие вопросы по тегам