Мой вопрос:
Я объединяю выбранную пользователем непрерывную переменную в моем предварительно загруженном наборе данных с помощью переменной фактора, выбранной пользователем в функции подачи.
Я получаю следующую ошибку.Кажется, что мои входные переменные не распознаются как имена столбцов в статистической функции.
Warning in mean.default(X[[i]], ...) :
argument is not numeric or logical: returning NA
Как агрегировать набор данных с использованием реактивных входов?
Справочная информация:
Я работаю над блестящим приложением.
Одна из вещей, которую я хочу сделать, это представить таблицу данных средних значений выбранной пользователем непрерывной переменной с коэффициентомпеременная, которую также выбирает пользователь.
Я пытаюсь добиться этого с помощью 1) разрешения пользователю сначала выбрать эти переменные, а затем 2) «свертывания» данных, заданных факторной переменной, с помощью агрегатафункция.
Мой код:
library(shiny)
library(DT)
# Load necessary data ----------------------
data(CO2)
# User interface -----------------------------
ui <- fluidPage(
titlePanel("Calculate Your Own Mean."),
sidebarPanel(
selectInput(inputId = "indicator", label = "Indicators:",
choices = names(CO2)[4:length(names(CO2))],
selected = "conc"),
selectInput(inputId = "group", label = "Disaggregate by:",
choices = names(CO2)[1:3],
selected = "Plant"),
width = 2),
mainPanel(
DT::dataTableOutput("table")
)
)
# Server -----------------------------
server <- function(input, output) {
meanData <-reactive({
aggregate(input$indicator ~ input$group,
data = CO2,
FUN = mean)
})
output$table <- DT::renderDataTable({
data <- meanData()
data
})
}
shinyApp(ui = ui, server = server)
Ожидаемый результат должен отображать таблицу со средствами выбранной пользователем переменной по выбранной пользователем групповой переменной.
Большое спасибо за помощь!