无法为签名“逻辑”找到函数“行数据”的继承方法

时间:2018-11-24 09:29:23

标签: r knitr

我有一个R降价代码块,看起来像这样(这是非常大的代码的一小部分)。

  filterLowExpressedGenes <- function(sce, cutoffCell, cutoffTranscript){

            apply(
                counts(sce[ , colData(sce)$use]), 
                1, 
                function(x) length(x[x > cutoffTranscript]) >= cutoffCell)
       }
        ```


    ```{r include=T}
        for (i in seq_along(sce_list))
          {
         print(rowData(sce_list[[i]])$use <- filterLowExpressedGenes(sce_list[[i]], 3, 5))
        }

        ```

{r include=T} for (i in seq_along(sce_list)) { print(table(rowData(sce_list[[i]])$use)) }

到这里一切正常,输出为:

## [1] "sce_1"
## 
## FALSE  TRUE 
## 31852  1842 
## [1] "sce_2"
## 
## FALSE  TRUE 
## 31009  2685 
## [1] "sce_3"
## 
## FALSE  TRUE 
## 31560  2134 
## [1] "sce_4"
## 
## FALSE  TRUE 
## 31697  1997

对前一个块中处理的信息进行操作的下一个块会引发错误:

code: 
    ```{r include=T}
     for (i in seq_along(sce_list))
       {
          sce_list[[i]]$qc = sce_list[[i]][rowData(sce_list[[i]]$use), colData(sce_list[[i]]$use)]
      }

    ```

我得到的错误是:

    Quitting from lines 331-345 (prototype.Rmd) 
Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function 'rowData' for signature '"logical"'
Calls: <Anonymous> ... withVisible -> eval -> eval -> [ -> rowData -> <Anonymous>
Execution halted

很抱歉,我无法为您提供示例可行数据。由于这介于编码部分之间,因此这意味着数据已经过某种处理。

我完全意识到,要找出解决方案,需要进行一些猜测工作或进行反复尝试。但是,欢迎您提供任何帮助/建议以使这项工作奏效。

先谢谢您。

0 个答案:

没有答案