在RStudio中使用行名和列名中的文本创建表

时间:2018-11-22 14:44:17

标签: r rstudio bioinformatics data-analysis

我正在寻找一个表格来比较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)中的错误<-dn:
    “假名” [2]的长度不等于数组范围。

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

enter image description here

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

1 个答案:

答案 0 :(得分:3)

错误使用?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))