【问题标题】:R error : "attempt to select less than one element in get1index"R错误:“尝试在get1index中选择少于一个元素”
【发布时间】:2023-04-04 04:10:01
【问题描述】:

我是 R 的初学者,我正在尝试使用包 ClonEvol,但是 github 网页上的文档非常有限。所以现在我正在使用他们的示例代码并尝试将其调整为我的名为 ce 的数据。

  ce <- data.frame(
  cluster = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7),
  gene = c("geneA","geneB","geneC","geneD","geneA","geneB","geneC","geneD","geneA","geneB","geneC","geneD","geneA","geneB","geneC",
 "geneD","geneA","geneB","geneC","geneD","geneA","geneB","geneC","geneD","geneA","geneB","geneC","geneD"),
  prim.vaf = c(0.5,0,0,0,0.5,0.5,0,0,1,0.5,0,0,1,0.5,0,0.5,0.5,0.5,0,0.5,0.5,0.5,0,1,0.5,0.5,0.5,0)
        )

    cluster <- ce$cluster
    gene <- ce$gene
    prim.vaf <- ce$prim.vaf

    x <- ce

    vaf.col.names <- grep('prim.vaf', colnames(x), value=T)
    sample.names <- gsub('prim.vaf', '', vaf.col.names)
    x[, sample.names] <- x[, vaf.col.names]
    vaf.col.names <- sample.names
    sample.groups <- c('P', 'R');
    names(sample.groups) <- vaf.col.names
    x <- x[order(x$cluster),]

    pdf('box.pdf', width = 3, height = 5, useDingbats = FALSE, title='')
    pp <- variant.box.plot(x,
   cluster.col.name = ce$cluster,
   show.cluster.size = FALSE,
   cluster.size.text.color = 'blue',
   vaf.col.names = vaf.col.names,
   vaf.limits = 70,
   sample.title.size = 20,
   violin = FALSE,
   box = FALSE,
   jitter = TRUE,
   jitter.shape = 1,
   jitter.color = clone.colors,
   jitter.size = 3,
   jitter.alpha = 1,
   jitter.center.method = 'median',
   jitter.center.size = 1,
   jitter.center.color = 'darkgray',
   jitter.center.display.value = 'none',
   highlight = 'is.driver',
   highlight.note.col.name = 'gene',
   highlight.note.size = 2,
   highlight.shape =16,
   order.by.total.vaf = FALSE
    )
    dev.off()

但是,我收到以下错误:

    Error in .subset2(x, i, exact = exact) : recursive indexing failed at level 2

如果我删除 cluster.col.name=ce$clustervaf.col.names=vaf.col.names,则错误变为以下内容:

    Error in .subset2(x, i, exact = exact) : attempt to select less than one     
    element in get1index

有人知道出了什么问题吗?

【问题讨论】:

  • 您是否尝试在 github 上发布此内容并联系包开发人员。
  • 如果您希望更多人回答您的问题,请尝试给出一个 minimal 可重复的示例,并强调 minimum

标签: r


【解决方案1】:

我今天遇到了这个错误消息。我对这个问题中的 R 包知之甚少,但我想我可以在这里显示 错误消息的含义。也许这对您找出问题很有用。

当我们使用NULL 作为索引 对列表进行子集化时会发生错误。
以下是调用此错误消息的表达式:

any.list <- list(1, 2, 3)
# If single brackets, no error occurs: 
any.list[NULL]
## list()

# If double brackets, the error occurs: 
any.list[[NULL]]
## Error in any.list[[NULL]] : 
##   attempt to select less than one element in get1index

上面的list可以是任何列表,甚至是向量。

a.vector <- c(1, 2, 3)
a.vector[[NULL]]
## Error in a.vector[[NULL]] : 
##   attempt to select less than one element in get1index

这是一个类似的错误信息:

any.list[[0]]
## Error in any.list[[0]] : 
##   attempt to select less than one element in get1index <real>

结束

【讨论】:

    猜你喜欢
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2015-07-13
    • 1970-01-01
    • 2018-03-23
    • 2016-01-24
    • 2020-07-28
    相关资源
    最近更新 更多