【问题标题】:Creating a table in RStudio with text in the row names and column names在 RStudio 中使用行名和列名中的文本创建表
【发布时间】:2018-11-24 09:03:51
【问题描述】:

我希望创建一个表格来比较 4 个不同的基因组,以查看不同基因组之间的重叠位置。 我想将它们称为:

'BCG_validation'
'BCG_discovery'
'MTB_validation'
'MTB_discovery'

目前我写的代码如下:

mx.overlap <- matrix(rep(NA,16), ncol=4)
mx.overlap

colnames(mx.overlap) <- paste('BCG_validation', 'BCG_discovery',
'MTB_validation','MTB_discovery')

rownames(mx.overlap) <- paste('BCG_validation', 'BCG_discovery',       
'MTB_validation', 'MTB_discovery')

但是,当我执行它时,我收到了错误消息:

dimnames(x) 中的错误 'dimnames' [2] 的长度不等于数组范围。

关于如何更改此代码以成功创建表格的任何想法?

你可以看到 [,1] 一直到 4,这就是我希望看到标题的地方,这样当我输入“查看”时,我可以直观地看到所有行名和列名。

【问题讨论】:

  • 使用c(),而不是paste()paste() 将所有 4 个标签连接成一个字符串(1 个元素),这与所需的行/列名称的数量(4 个元素)不匹配。

标签: r rstudio bioinformatics data-analysis


【解决方案1】:

错误使用?paste,使用?c

mx.overlap <- matrix(rep(NA,16), ncol=4)

colnames(mx.overlap) <- c('BCG_validation', 'BCG_discovery',
                              'MTB_validation','MTB_discovery')

rownames(mx.overlap) <- c('BCG_validation', 'BCG_discovery',       
                              'MTB_validation', 'MTB_discovery')

mx.overlap

你也可以在矩阵定义后使用?dimnames

nm <- c('BCG_validation', 'BCG_discovery',
        'MTB_validation','MTB_discovery')

dimnames(mx.overlap) <- list(nm, nm)

甚至shorer直接在矩阵中使用dimnames =参数:

nm <- c('BCG_validation', 'BCG_discovery', 'MTB_validation', 'MTB_discovery')
mx.overlap <- matrix(rep(NA,16), ncol=4, dimnames = list(nm, nm))

【讨论】:

  • 我刚刚尝试使用您的建议再次执行它。确实有效,非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 1970-01-01
  • 2020-02-15
  • 2020-09-28
  • 2011-12-09
  • 2023-01-18
  • 1970-01-01
相关资源
最近更新 更多