r - R Shiny:如何使用 renderTable 显示空间数据框
问题描述
我正在使用基于 PostgreSQL 空间数据库的 Leaflet 地图构建一个闪亮的应用程序。
我成功地将空间数据导入 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)
解决方案
renderDataTable
不适用于tableOutput
. 你必须dataTableOutput
改用。此外,您应该添加正确inputId
的 for dataTableOutput
。
让一切正常工作改变:tableOutput(as.data.frame(sample_test1))
在你ui
的dataTableOutput('table')
推荐阅读
- amazon-web-services - 如何使用 Go Lambda 在 AWS Step Functions 中传递输入?
- android - Android Kotlin:在 mutableList 中搜索具有特定键值的元素
- vuejs2 - 如何在 vue-select 中设置阻止事件"
- android - 禁用 SeekBar 的一部分
- python-3.x - 消息小部件未使用 tkinter 填充框架
- concurrency - 有没有一种直接的方法可以在 Fortran 中使用随机数生成器进行并发计算?
- python - InvalidArgumentError:reshape 的输入是具有 27000 个值的张量,但请求的形状有 810000 [Op:Reshape]
- javascript - 使用 React-native modal 形成和设置适当的对话框或警报框
- java - 如何选择性地将边框应用于 Apache POI 中的 docx 表?
- ios - 我可以在自定义键盘扩展中创建主系统键盘的快捷方式吗?