Я пытаюсь создать блестящее приложение, в котором можно создать сводную таблицу для столбца, выбранного пользователем из раскрывающегося списка столбцов. Используемый кадр данных является образцом набора данных.
library(shiny)
library(dplyr)
df <- data.frame(grouping_letter = c('A', 'A', 'B', 'B', 'C', 'C'),
grouping_animal = c('Cat', 'Dog', 'Cat', 'Dog', 'Cat', 'Dog'),
value = c(1,2,3,4,5,6))
df <- df %>% mutate(
grouping_letter = as.character(grouping_letter),
grouping_animal = as.character(grouping_animal))
# Define UI for application that summarizes a table
ui <- fluidPage(
selectInput(inputId ="column",
label = "Choose Column for Summary",
choices = names(df),
selected = "grouping_letter"),
tableOutput('table')
)
# Define server logic required to output summary table
server <- function(input, output) {
groupvar <- reactive({input$column})
cols <- c('value', unlist(groupvar))
dt_f <- df[,cols] %>%
group_by_at(2) %>%
summarise (value = n(), yield = round(mean(value)*100, 1)) %>%
mutate(Pct_of_value = paste0(round(100 * value/sum(value), 0), "%"))
output$table <- renderTable(dt_f)
}
# Run the application
shinyApp(ui = ui, server = server)
Я получаю сообщение об ошибке: Предупреждение: Ошибка в .subset: недопустимый тип индекса «list» Я использую R 3.6 и RStudio на windows