r-DoHeatmap函数Seurat-数据帧错误:参数表示不同的行数



我正试图使用Seurat中的DoHeatmap函数来显示一些已定义簇中许多基因的表达。B_cells是我的Seurat对象。

tfs <- c("PRDM1", "PAX5", "BACH2")
DoHeatmap(B_cells, features=tfs)

我正在恢复这个错误;

Error in data.frame(group = sort(x = group.use), x = x.divs) : 
arguments imply differing number of rows: 10411, 0

当我查看Seurat对象中的行数和列数时;

nrow(B_cells) = 19651
ncol(B_cells) = 10151

如果这是一个愚蠢的问题,我很抱歉,但我已经纠结了一段时间了。

编辑回溯((:

3: stop(gettextf("arguments imply differing number of rows: %s", 
paste(unique(nrows), collapse = ", ")), domain = NA)
2: data.frame(group = sort(x = group.use), x = x.divs)
1: DoHeatmap(B_cells, features = genes)
DoHeatmap((函数的源代码位于https://github.com/satijalab/seurat/blob/develop/R/visualization.R.traceback((显示visualization.R的第363行导致错误:
if (label) {
x.max <- max(pbuild$layout$panel_params[[1]]$x.range)
# Attempt to pull xdivs from x.major in ggplot2 < 3.3.0; if NULL, pull from the >= 3.3.0 slot
x.divs <- pbuild$layout$panel_params[[1]]$x.major %||% pbuild$layout$panel_params[[1]]$x$break_positions()
x <- data.frame(group = sort(x = group.use), x = x.divs)
...
}       

作为绕过错误的变通方法,请尝试:

DoHeatmap(B_cells, features=tfs, label=FALSE)

我也有类似的错误。事实证明,我的集群标签有一个问题,我的一个集群最终得到了一个空标签("(。当我要求使用标签=T的DimPlot时,我发现了它,其中一个集群没有标签。当我返回并正确地重新标记集群时,DoHeatmap错误消失了。

相关内容

  • 没有找到相关文章