【问题标题】:How can I dynamically select columns of imported shapefile for further analysis in R Shiny?如何在 R Shiny 中动态选择导入的 shapefile 列以进行进一步分析?
【发布时间】:2020-05-17 05:04:52
【问题描述】:

在此示例中,Shiny How to dynamically select columns of imported dataset for further analysis,他们没有给出明确的 ui.R 以及对动态选择列进行更改的位置,我找不到明确的解决方案。我正在尝试使用 shapefile,但没有找到任何明确的示例。导入的 shapefile 或 csv 的动态选择列是否有可能?如果有任何例子最受赞赏

【问题讨论】:

    标签: r csv select shiny shapefile


    【解决方案1】:

    这只是一个一般性的答案,因为您没有提供代码,但我将展示一个案例,您可以从选项列表中进行选择并反应性地更新所选列。

    在 ui.R 文件中,您可以使用以下命令创建列选项的下拉列表:

    fluidRow(
              column(uiOutput("columnSelect"), width = 2)
            )
    

    然后在 server.R 文件中,您必须定义输出并使用标准评估函数动态调用:

    output$columnSelect <- renderUI({
        selectInput("column", "Select column:", c('column1' , 'column2'), selected = 'column1')
      })
    
    selectedColumn <- !! rlang::sym(input$column)
    

    如果您有一个以 column1 和 column2 作为列名的数据框,只需通过 dplyr 进行调用:

    dfSelectedColumn <- df %>%
      select(selectedColumn)
    

    【讨论】:

    • c('column1' , 'column2') 在这里您定义了列名,但我已经从我给出的导入的 shapefile 中动态获取了列。
    • 我得到了结果,我需要在服务器部分的开头添加“会话”字,即server &lt;- function(session, input, output){}
    猜你喜欢
    • 2018-02-11
    • 2021-11-01
    • 2021-02-07
    • 1970-01-01
    • 2019-06-14
    • 2022-10-10
    • 2019-06-22
    • 2020-12-28
    • 2013-12-28
    相关资源
    最近更新 更多