在 SummarizedExperiment 对象中设置子集时出错

如何解决在 SummarizedExperiment 对象中设置子集时出错

我正在执行交叉验证,它因错误而停止,并将我带到作为 SummarizedExperiment 对象准备的输入文件(表达式矩阵)之一。转换为 SummarizedExperiment 对象之前的数据框如下所示:

>df_in
ID ENSG00000173876 ENSG00000015171 ENSG00000151240 ENSG00000201861
GTEX-1122O      1.23971133     0.032313662     0.463225608   -0.0999796730
GTEX-11EM3      0.92072379     0.063184620     0.174434651   -0.2178387562
GTEX-11EMC      0.47459394     0.096004857     0.731217143    0.0007358261
GTEX-11EQ9     -0.09716869     0.037165594    -0.206617086    0.3257665747
GTEX-11I78      0.37728673    -0.047541452    -0.339854752   -0.3821697072
GTEX-11TT1     -0.30940478     0.007378638    -0.037616431   -0.4177196282
GTEX-11VI4      0.19268243    -0.042931274    -0.001725555   -0.0399472751
GTEX-11ZTT     -0.85763663    -0.021054257     0.361930396    0.0442186943
GTEX-1211K     -1.04593727     0.007981690    -0.235834842   -0.0596221511
GTEX-1212Z     -0.44167417     0.010131560     0.445164764    0.1048388337

然后在转换为 SummarizedExperiment 对象后,第一列基本上被索引为 characterdf_in@colData@rownames

错误信息是:

Error in .SummarizedExperiment.charbound(j,colnames(x),fmt) : 
<SummarizedExperiment>[,j] index out of bounds: GTEX-ZT9X  

当它计算 R 平方时,它显示出来并结束一倍。

这也是警告:

 In data.frame(...,check.names = FALSE) :
 row names were found from a short variable and have been discarded
  • 所有输入矩阵中的个体列表都相同。
  • 没有空格前导或尾随第一列的字符。

查看Summerized Experiment Class文档,似乎这发生在子集操作

 #' @export
setMethod("[","ExampleClass",function(x,i,j,drop=TRUE) {
rv <- rowVec(x,withDimnames=FALSE)
cv <- colVec(x,withDimnames=FALSE)
rrm <- rowToRowMat(x,withDimnames=FALSE)
ccm <- colToColMat(x,withDimnames=FALSE)
rcm <- rowToColMat(x,withDimnames=FALSE)
crm <- colToRowMat(x,withDimnames=FALSE)

.
.
.

if (!missing(j)) {
    if (is.character(j)) {
        fmt <- paste0("<",class(x),">[,j] index out of bounds: %s")
        j <- SummarizedExperiment:::.SummarizedExperiment.charbound(
            j,fmt
        )
    }
    j <- as.vector(j)
    cv <- cv[j]
    ccm <- ccm[,drop=FALSE]
    rcm <- rcm[j,drop=FALSE]
}

out <- callNextMethod()
Biocgenerics:::replaceSlots(out,rowVec=rv,colVec=cv,rowToRowMat=rrm,colToColMat=ccm,rowToColMat=rcm,colToRowMat=crm,check=FALSE)
})  

我错过了什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?