我正在使用基于PostgreSQL空间数据库的Leaflet地图构建Shiny应用程序。
我成功地将空间数据导入SpatialPolygonDataFrame并将其显示在Leaflet小部件上。
我正在尝试使用RenderTable输出显示SpatialDataFrame中的数据,但即使使用as.data.frame(spatialdataframe)进行转换,也无法正常工作。 因此,此转换足以使用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)
答案 0 :(得分:0)
renderDataTable
不适用于tableOutput
。您必须改用dataTableOutput
。另外,您应该为inputId
添加正确的dataTableOutput
。
要使所有工作正常进行,请执行以下操作:将tableOutput(as.data.frame(sample_test1))
中的ui
更改为dataTableOutput('table')