#r #ggplot2 #shiny
#r #ggplot2 #блестящий
Вопрос:
У меня есть приложение shiny, в котором я создаю график различных клинических параметров. Статистический тест будет отличаться для разных клинических параметров, поскольку они содержат разные группы. Как я могу определить разные группы для stat_compare_means
в зависимости от клинического параметра в выпадающем меню?
Вот приложение:https://mjellelab.shinyapps.io/SHINY_miRNA_CLINICAL /
Например, для serum_m_component я хочу сравнить все четыре группы друг с другом (кроме unknown), для этапа ISS я хочу сравнить 1vs2, 1vs3 и 2vs3.
приложение:
data_prep <-
structure(list(miRNA = c("hsa-let-7a-3p", "hsa-let-7a-3p", "hsa-let-7a-3p",
"hsa-let-7a-3p", "hsa-let-7a-3p", "hsa-let-7a-3p"), ID = c("86",
"175", "217", "394", "444", "618"), value = c(5.57979757386892,
5.21619202802748, 5.42796072966512, -1.1390337316217, 5.06134249676025,
4.37364284462968), Bone_disease = c("Without bone disease", "With bone disease",
"With bone disease", "With bone disease", "With bone disease",
"With bone disease"), Serum_M_component = structure(c(3L, 3L,
5L, 3L, 1L, 3L), .Label = c("IgA", "IgD", "IgG", "LightChains",
"Unknown"), class = "factor"), ISS_stage = c("Stage 3", "Stage 1",
"Stage 3", "Stage 2", "Unknown", "Unknown")), row.names = c(NA,
6L), class = "data.frame")
ui.miRNA.clinical <- dashboardPage(
# Application title
dashboardHeader(title=h4(HTML("MicroRNA expression <br/> in Multiple myeloma"))),
dashboardSidebar(
selectInput("p", "Clinical parameter", choices = c("Bone_disease", "Serum_M_component","ISS_stage")),
selectInput("gene", "MicroRNA", choices = unique(data_prep$miRNA))),
dashboardBody(
tabsetPanel(
tabPanel("Plot", plotOutput("myplot", width = "400px", height = "300px"))
)
)
)
server.miRNA.clinical <- function(input, output, session) {
# filter data by Gene
data_selected <- reactive({
filter(data_prep, miRNA %in% input$gene)
})
output$myplot <- renderPlot({
ggplot(data_selected(), aes_string(input$p, "value", fill = input$p))
geom_boxplot() theme_classic(base_size = 12) labs(x="Clinical parameter",y="MicroRNA expression (cpm,log2)")
stat_compare_means(method = "anova")
#method ="anova"
})
}
Комментарии:
1. Пожалуйста, опубликуйте образец данных для тестирования вашей программы.
2. Пожалуйста, ознакомьтесь с обновлением данных в «data_prep»