Могу ли я добавить несколько выражений в renderTable? - PullRequest
0 голосов
/ 04 августа 2020

Я пишу блестящее приложение, которое принимает данные, загруженные пользователем, и вычисляет сводную статистику на основе любых переменных в их данных. Если вы используете набор данных по радужной оболочке в качестве примера, пользователь может загрузить этот набор данных и вычислить сводную статистику для длины ступени по видам. У меня есть код, который позволяет создать одну сводную таблицу для каждой статистики c, но я хотел бы иметь возможность создать таблицу, включающую всю сводную статистику в одном месте. Ниже приведен фрагмент кода, который я использую. Вы увидите код для вычисления среднего и медианы, но он представлен в виде двух таблиц. Есть ли способ настроить это так, чтобы я мог иметь несколько выражений в одной таблице?

server <- function(input, output, session) {
    
    data <- reactive({
        file1 <- input$csvFile
        if (is.null(file1)) { 
            return() 
        } 
        data = read.csv(file=file1$datapath)
        data
    })

    output$var_dem <- renderUI({
        selectInput("dem", "Select a demographic variable.", choices= names(data()))
    })
        
    output$var_ui <- renderUI({
        selectInput("var", "Select an outcome variable.", choices= names(data()))
    })
    
    output$mean <- renderTable(
        tapply(data()[,input$var], data()[,input$dem], mean), 
        rownames = TRUE, 
        colnames = FALSE
    )
    
    output$median <- renderTable(
        tapply(data()[,input$var], data()[,input$dem], median), 
        rownames = TRUE, 
        colnames = FALSE
    )

1 Ответ

0 голосов
/ 05 августа 2020

В случае среднего и медианного вы можете создать столбец фрейма данных для каждого и передать его в renderTable:

library(datasets)

data.frame(mean   = tapply(iris[,"Sepal.Length"], iris[,"Species"], mean),
           median = tapply(iris[,"Sepal.Length"], iris[,"Species"], median))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...