如何引用Shiny和Leaflet中的列名

时间:2017-04-14 02:16:36

标签: r function shiny leaflet

我指的是Leaflet(https://rstudio.github.io/leaflet/choropleths.html)的choropleth教程,并为Shiny修改它。根据用户选择的内容,我希望能够使用不同的列。我遇到的问题与这部分有关:

pal <- colorBin("YlOrRd", domain = states$density, bins = bins)

m %>% addPolygons(
  fillColor = ~pal(density),
  weight = 2,
  opacity = 1,
  color = "white",
  dashArray = "3",
  fillOpacity = 0.7)

具体来说,我希望能够将density列替换为我可以从Shiny中的按钮获取的列(假设列称为ab,并且我从name_button对象中获取它们。我创建了col_name函数来包含这个选择:

col_name <- reactive({
  name <- switch(input$name_button, "A" = "a", "B" = "b" )
  name})

然后我可以修改pal <- ...行,如下所示(参见R how use a string variable to select a data frame column using $ notation):

pal <- colorBin("YlOrRd", domain = states[[col_name()]], bins = bins)

但是,我不确定如何更改fillColor = ~pal(density),行,因为density是列的名称。我试过了

fillColor = ~pal([[col_name]])

但这不起作用。我该怎么办?

此外,~中的代字号~pal(...)的功能是什么?

0 个答案:

没有答案