реализация в блестящем дает ложный результат при проверке значимости

Я пытаюсь реализовать некоторый анализ в блестящем приложении с помощью определенной в пакете команды, которая выводит график. Эта определяемая пакетом команда требует предварительного ввода от отдельной команды (та, которая указывает, какие конкретные столбцы в данной матрице данных должны быть оценены — эти столбцы содержат информацию о типах ячеек).

#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) искажаются, так что выходные данные полностью отличаются от того, что можно было бы ожидать в неяркой среде. См. ниже значения значимости, сопровождающие выводимые тепловые карты:

введите здесь описание изображения

Выше приведено нормальное значение, полученное для каждого типа ячейки, которое получается, когда я устанавливаю вывод tagData равным переменной «irisTag» как обычно, когда не использую блестящий и присваиваю irisTag в качестве аргумента dataTag в package_defined_plot.

введите здесь описание изображения

Обратите внимание на разные значения значимости для типов ячеек при реализации в блестящем.

Из-за этого выходные тепловые карты неверны при обработке в блестящем.

Блестящий вывод — это нормально, когда я опускаю функцию dataInput и просто задаю аргумент dataTag как обычно. Следовательно, по какой-то причине передача информации через функцию dataInput не обеспечивает правильную доставку входной информации.

Чтобы убедиться, что это произошло из-за того, что checkboxgroupInput входит в dataInput(), передал нормальные аргументы 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 переменной за пределами блестящей среды, а затем устанавливаю этот аргумент тега данных равным этой переменной, вывод правильный.

Может ли кто-нибудь сказать мне, как я могу это исправить?


person johnny utah    schedule 11.05.2016    source источник


Ответы (1)


Отсортировал его, заменив checkboxInput на selectInput (установив аргумент 'multiple = TRUE', позволяющий использовать несколько значений по умолчанию - c (column1, column2...)), который, кажется, по-разному определяет столбцы данных и так, как я хотел. к

person johnny utah    schedule 13.05.2016