0

我想用 circlize 初始化一个新的和弦图,但是我收到了一个错误,考虑到我输入的数据似乎没有任何意义:

Error: Since `xlim` is a matrix, it should have same number of rows as the length of the level of `sectors` and number of columns of 2.

我理解这个要求,但是当我尝试制作不同的地块时,它对一些人来说失败了,但对另一些人来说却没有。这是相关的代码片段,其中包含一些用于调试的输出

dev.new()                                                                       
circos.clear()            
circos.par(cell.padding=c(0,0,0,0), track.margin=c(0,0.01), gap.degree=1)                                     
xlim = cbind(0, regionTotal) 
print(class(region))                                                   
print(length(region))                                                           
print(class(xlim))                                                              
print(dim(xlim))                                                                                                                                                                                       
circos.initialize(factors=region, xlim=xlim)

工作正常的绘图的输出:

[1] "character"
[1] 24
[1] "matrix" "array" 
[1] 24  2

对于返回错误的人:

[1] "character"
[1] 50
[1] "matrix" "array" 
[1] 50  2
Error: Since `xlim` is a matrix, it should have same number of rows as the length of the level of `sectors` and number of columns of 2.

我知道这些问题: 这个问题导致我检查课程

这让我检查了我的 circlize 版本(0.4.11)

我错过了什么???感谢您的任何帮助,您可以提供。

4

1 回答 1

0

经过大量的拉扯,我发现了问题:我的区域变量(circos.initialize中的因子或扇区条目)中有重复值,因此扇区的有效数量低于变量的维度。希望没有其他人愚蠢到会犯这个错误,但以防万一,现在他们可以有一个额外的东西来检查他们是否遇到这个错误。

于 2021-04-10T12:42:02.660 回答