如何解决ti修正错误dimX的长度必须为正数R
> tmpselected = input$sel_gene_promoter
> tmpmydata_genes = mydata_genes[,match(colnames(tmpgeneids),colnames(mydata_genes),nomatch=0)]
> tmpind = unique(na.omit(c(apply(tmpmydata_genes,2,function(k) match(tmpselected,k)))))
Error in apply(tmpmydata_genes,k)) :
dim(X) must have a positive length
> tmpmydata_genes
[1] gene_id chr1.1083 gene_id g292.t1 gene_id g467.t1 gene_id g624.t1 gene_id chr1.2796
[6] gene_id chr1.2959 gene_id chr10.1395 gene_id g1586.t1 gene_id chr11.59 gene_id g1922.t1
10 Levels: gene_id chr1.1083 gene_id chr1.2796 gene_id chr1.2959 gene_id chr10.1395 ... gene_id g624.t1
> tmpselected
[1] gene_id chr1.1083
10 Levels: gene_id chr1.1083 gene_id chr1.2796 gene_id chr1.2959 gene_id chr10.1395 ... gene_id g624.t1
> class(tmpmydata_genes)
[1] "factor"
> class(tmpselected)
[1] "factor"
> is.vector(tmpmydata_genes)
[1] FALSE
>
> is.vector(tmpselected)
[1] FALSE
> dim(tmpmydata_genes)
NULL
> dim(tmpselected)
NULL
我错过了导致错误的简单修复程序。任何人都可以提示解决。
解决方法
我猜你只是想match(tmpselected,tmpmydata_genes)
,而不必使用Apply,因为匹配已经矢量化了。
为将来参考,您可以使用traceback()
来更仔细地确定引发错误的代码行或函数调用。
基于您发布的内容的两个猜测。第一,
尝试检查dim(tmpmydata_genes)
和dim(tmpselected)
来查看源对象中的实际内容。我怀疑您不希望它们成为因素。
或者,也许您没有阅读手册页?match
。特别是
match(x,table,nomatch = NA_integer_,无与伦比= NULL)
参数
无匹配,如果找不到匹配项,则返回该值。 请注意,它被强制为整数。
因此,您偶尔会得到一个NA
不需要的sapply
。将nomatch
设置为其他值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。