簡體   English   中英

R - 使用 dplyr、DT 和 Shiny 在地圖中創建數據表

[英]R - Using dplyr, DT, and Shiny to create data table in map

我的代碼是

server <- function(input, output) {
  subsetdata = reactive ({
  newdata = popdatamerged[popdatamerged$`A` %in% input$'B',]
  return((newdata))
})

output$map = renderLeaflet({ 
  leaflet() %>%
  addTiles()
})

observe({
  leafletProxy('map') %>%
  clearMarkerClusters %>%
  addMarkers(data= subsetdata(), lng = ~Long, lat = ~Lat, 
             clusterOptions = markerClusterOptions(zoomToBoundsOnClick = TRUE, spiderfyOnMaxZoom = FALSE))
})

output$mytable = DT::renderDataTable({
  subsetdata() %>%
    group_by_(~CityCountry) %>%
    summarize_("D" = sum(~D), "E" = sum(~E), "F" = sum(~F), na.rm=TRUE)
})

我在輸出(這是一個地圖)中得到的錯誤在標題“數據表”下

invalid 'type' (language) of argument

我很確定它來自 dplyr 的總結部分。 項目 D、E 和 F 填充為 0 或 1。

反應性子集數據是否未將 D、E 和 F 顯示為 0 和 1?

編輯我想使用 popdatamerged 添加以下代碼在服務器功能之外工作

popdatamerged() %>%
    group_by_(~CityCountry) %>%
    summarize_("D" = sum(~D), "E" = sum(~E), "F" = sum(~F), na.rm=TRUE)

我能夠找到解決方案。 我相信觀察語法解決了總結行中的總和問題。 希望這可以對其他人有所幫助。

下面的數據表數據已正確集成到地圖中。 數據表包含所有唯一 CityCountry 的列表,然后匯總每個 CityCountry 的 D、E 和 F。

感謝您的觀看。

server <- function(input, output) {
  subsetdata = reactive ({
  newdata = popdatamerged[popdatamerged$`A` %in% input$'B',]
  return((newdata))
 })

output$map = renderLeaflet({ 
  leaflet() %>%
  addTiles()
})

observe({
  leafletProxy('map') %>%
  clearMarkerClusters %>%
  addMarkers(data= subsetdata(), lng = ~Long, lat = ~Lat, 
         clusterOptions = markerClusterOptions(zoomToBoundsOnClick = TRUE, 
         spiderfyOnMaxZoom = FALSE))
})

  observe({
    datatabledata = DT:: datatable ({
      subsetdata() %>%
        dplyr:: group_by_(~CityCountry) %>%
        dplyr:: summarize( "D" = sum(D), "E" = sum(E), "F" = sum(F))
})

output$mytable = DT:: renderDataTable(datatabledata)})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM