闪亮的实现在重要性测试中给出虚假输出

时间:2016-05-11 09:37:41

标签: input shiny information-extraction

我试图通过一个输出绘图的包定义命令在闪亮的应用程序中实现一些分析。此程序包定义的命令需要来自单独命令的初步输入(指定要评估给定数据矩阵中哪些特定列的命令 - 这些列包含有关单元格类型的信息)。

#ui.R
uiactual <- dashboardPage(
  dashboardHeader(title="Project"),
   [dashboard sidebar....]
  dashboardBody(tabItems(
        box(sliderInput(inputId="maximum_genes", label="Choose number genes per cell-type", value=15, min=5, max=15)),
        column(7, checkboxGroupInput("cell_choices", "choose cell types", colnames(IRIS), selected=c("Bcell-naïve", "CD4Tcell-N0","Monocyte-Day0", "NKcell-control", "Neutrophil-Resting"))),
        actionButton(inputId="choices", label="Update heatmap"),
        column(12,plotOutput("graph"))
       )
  )
 )
)

 #server.R
 serveractual <- function(input, output) {
     dataInput<-eventReactive(input$choices, {
     tagData(IRIS[, input$cell_choices], max=input$maximum_genes)
     })
 output$graph<-renderPlot({
    package_defined_plot( data=data, dataTag=dataInput() )
    })
 }

参见上面的server.R代码,tagData命令是package_defined_plot输出所需的初步过程。

此分析的目的是在视觉上和数字上检查列指定细胞类型之间的显着差异。

虽然分析机制似乎并未受到损害,但由于某种原因,输入(存储在函数 dataInput 中)受到干扰,因此输出完全不同于非预期的输出。闪亮的环境。请参阅下面输出的热图附带的显着性值:

enter image description here

以上是我将tagData的输出设置为等于变量&#34; irisTag&#34;时产生的每种细胞类型的正常显着性。正常情况下不使用有光泽和imputeTag作为package_defined_plot中的dataTag参数。

enter image description here

注意在闪亮时实现的单元格类型的不同显着性值。

因此,在闪亮处理时输出热图是错误的。

当我省略 dataInput 函数时,闪亮的输出是正常的,只是正常地给出dataTag参数。因此,由于某种原因,通过 dataInput 功能传输信息不能正确传递输入信息。

要查看这是否是由进入 dataInput() checkboxgroupInput 引起的,请给出 dataInput()正常参数 - 但是同样不正确的输出仍然存在。

总体而言,我在闪亮的已实现的 dataInput()中存储特定于列的信息的方式存在问题。虽然多次测试后闪亮的输出是一致的(即它不会随机变化),但这是错误的。

更新:以下内容提供了相同的错误输出:

   package_defined_plot( data=data, dataTag=tagData(IRIS[, c("Bcell-naïve", "CD4Tcell-N0","Monocyte-Day0", "NKcell-control", "Neutrophil-Resting")], max=input$maximum_genes)

但是,当我将tagData命令分配给闪亮环境之外的变量,然后将该数据标记参数设置为等于该变量时输出是正确的。

有谁能告诉我如何纠正这个问题?

1 个答案:

答案 0 :(得分:0)

通过用selectInput替换checkboxInput对其进行排序(设置参数&#39; multiple = TRUE&#39;允许存在多个默认值-c(column1,column2 ...)),这似乎指定了数据列不同以及我希望它的方式