R Shiny: Как отобразить пространственный фрейм данных с renderTable - PullRequest
0 голосов
/ 22 марта 2019

Я создаю приложение Shiny с картой Leaflet на основе пространственной базы данных PostgreSQL.

Мне удалось импортировать пространственные данные в SpatialPolygonDataFrame и отобразить их в виджете Leaflet.

Я пытаюсь отобразить данные из SpatialDataFrame с выводом RenderTable, но он не работает, даже путем преобразования их в as.data.frame (пространственный_данных). Следовательно, этого преобразования достаточно для отображения таблицы с помощью view (), kable () или других функций отображения, но не в Shiny.

Должен ли я сделать еще одно преобразование? У кого-нибудь есть идея?

    ui <- fluidPage(
titlePanel("AgriPAG"),
sidebarLayout(
    mainPanel(
        tabsetPanel(
            tabPanel(leafletOutput("m",width = "100%", height = 1000)),
            tabPanel(tableOutput(as.data.frame(sample_test1)))
        )
    ),
    sidebarPanel("curseur")
)
)

server <- function(input,output, session){

data <- reactive({
x <- test1
})

output$mymap <- renderLeaflet({
test1 <- data()

m <- leaflet(data = sample_test1) %>%
        addTiles() %>%
        setView(lng=-52.3333300, lat=4.9333300 , zoom=10) %>%
        addPolygons(data=sample_test1, weight=2, col="black", opacity=0.5)
m
})

output$table <- renderDataTable(as.data.frame(sample_test1))

}

shinyApp(ui = ui, server = server)

1 Ответ

0 голосов
/ 22 марта 2019

renderDataTable не работает с tableOutput. Вместо этого вы должны использовать dataTableOutput. Кроме того, вы должны добавить правильный inputId для dataTableOutput.

Чтобы все заработало, измените: tableOutput(as.data.frame(sample_test1)) в вашем ui на dataTableOutput('table')

...