fro*_*onk 5 filtering r dynamic dplyr ggvis
我正在使用ggvisR中的包装附带的内置"可卡因"数据库来可视化每个州的可卡因效力计数.dplyr还使用了R包.
这是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
Run Code Online (Sandbox Code Playgroud)
目标是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)
Run Code Online (Sandbox Code Playgroud)
问题是为什么我们需要表达式input_select()被"评估" eval().猜测可能是因为filter是来自dplyr包的函数,因此不在环境中进行通信ggvis; eval因此在ggvis环境中初始化它.也许有人可以使用一个可以帮助我们想象这个概念的概念?