Я бы хотел, чтобы пользователь мог вводить имя объекта фрейма данных и отображать этот объект как отформатированную таблицу данных в приложении Shiny.
Вот игрушечный пример.В рабочей области доступны два объекта данных: df1
и df2
.Когда пользователь вводит df1
, я бы хотел, чтобы этот кадр данных отображался.Аналогично для df2
или для любого другого кадра данных, который они имеют в своей рабочей области.
Я подозреваю, что должен что-то делать со средой, областью или оценкой, но я не уверен, что именно.
Я прокомментировал код, в котором я могу жестко кодировать во встроенном наборе данных mtcars
и правильно отобразил его.Теперь я просто хочу сделать то же самое для любого специального информационного кадра в рабочей области пользователя.
library(shiny)
set.seed(1234)
x <- sample.int(n = 20)
y <- sample(x = LETTERS, size = 20)
a <- rnorm(n = 20)
b <- sample(x = letters, size = 20)
df1 <- data.frame(x = x, y = y)
df2 <- data.frame(a = a, b = b)
# Define UI ----
ui <- fluidPage(
titlePanel("Using text inputs to select dataframes"),
sidebarLayout(position = "left",
sidebarPanel(width = 5,
textInput("dfInput", h5("Enter name of dataframe"),
value = "")),
mainPanel(width = 6,
h4("Here's your data"),
textOutput("selected_df"),
dataTableOutput("view")
)
)
)
# Define server logic ----
server <- function(input, output, session) {
output$selected_df <- renderText({
paste("You have selected ", input$dfInput)
})
output$view <-
renderDataTable({
input$dfInput # this should render the selected dataframe. If you replace this with mtcars then that dataset is correctly rendered.
})
}
# Run the app ----
shinyApp(ui = ui, server = server)