操纵Shiny中的反应性data.table并从其他反应式表达中引用它

时间:2018-06-16 15:42:13

标签: shiny dplyr reactive

我试图根据用户输入将Shiny子集设为RiboTag_TPMs_for_app data.table,然后在另一个反应式表达式中使用生成的data.table podzbior_Ribo,其中它被赋予一个函数transpozycja_RiboTag使用反应式表达。

我收到此错误:Warning: Error in [: invalid subscript type 'list'

我删除了部分代码,我认为这些代码与问题无关。顺便说一句,如果我直接使用RiboTag_TPMs_for_app(而不是过滤后的),一切正常。

欢迎任何帮助。

干杯, 瓦

RiboTag_TPMs_for_app <- as.data.table(read.delim("RiboTag_TPMs_for_app.csv", header = TRUE, sep = ","))


transpozycja_RiboTag <- function(podzbior_Ribo, RiboTag_Entry_zmienna){
  OneLiner <- transpose(podzbior_Ribo[Ensembl_ID == RiboTag_Entry_zmienna, .(Gad2, vGluT2, PV, INPUT)])
  OneLiner$ID <- as.factor(c("Gad2","vGlut2","PV","Total Brain"))
  OneLiner$ID <- factor(OneLiner$ID, levels = c("Gad2","vGlut2","PV","Total Brain"))
  return(OneLiner)
}

server <- function(input, output, session) {

})
podzbior_Ribo <- reactive({    
  coRibo <- dplyr::filter(RiboTag_TPMs_for_app, !grepl('ENSMUS', Ensembl_ID))
  coRiboe <- dplyr::filter(RiboTag_TPMs_for_app, grepl('ENSMUS', Ensembl_ID))
  if(input$search_key_mRNA == "Gene Symbol"){
    coRibo
  }else{
    coRiboe
  }
})

RiboTag_Entry_zmienna <- reactiveVal()

observeEvent(input$keyPressed, {
      RiboTag_Entry_zmienna(input$RiboTag_Entry)

mini_tabelka_RiboTag <- reactive({
  transpozycja_RiboTag(podzbior_Ribo(), RiboTag_Entry_zmienna()) 

}

0 个答案:

没有答案