根据Shiny中的textInput值重命名变量

时间:2018-08-22 17:40:54

标签: r shiny

我想基于textInput的值更新仪表板中的变量名称。我已经使用 mtcars 数据集准备了一个可重现的示例。我已注释掉我要重命名的区域,但是没有用。

library(shiny)
library(dplyr)

ui <- fluidPage(
  fluidRow(
    column(
      4, 
      selectInput("x", "select x variable", colnames(mtcars), "mpg"),
      selectInput("y", "select y variable", colnames(mtcars), "wt"),
      br(),
      uiOutput("xxx"),
      uiOutput("yyy")
    ),
    column(
      8,
      verbatimTextOutput("summary")
    )
  )
)

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

  output$xxx <- renderUI({
    textInput("xlab", "Rename x variable", value = input$x)
  })

  output$yyy <- renderUI({
    textInput("ylab", "Rename y variable", value = input$y)
  })

  # df <- reactive({
  #   select(mtcars, input$x, input$y) %>%
  #     rename(input$xlab = input$x, input$ylab = input$y)
  # })

  output$summary <- renderPrint({
    select(mtcars, input$x, input$y) %>% summary()
    # df() %>% summary()
  })
}

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:0)

在生成反应式datframe之后,可以使用colnames()函数命名列。我在renderPrint()中添加了req()语句,以避免在加载应用程序时出错。

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.