【问题标题】:Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate 'row.names' are not allowed [duplicate]read.table 中的错误(file = file,header = header,sep = sep,quote = quote,:不允许重复的“row.names”[重复]
【发布时间】:2019-09-12 21:21:40
【问题描述】:

我的矩阵是这样的- 13367*13367长矩阵-

    NBAS    DNAH9   NRAS    NRAS    TP53    TP53    TP53    SCYL2   RNF19A
NBAS    1   0   0   0   0   0   0   0   0
DNAH9   0   1   0   0   0   0   0   0   0
NRAS    0   0   1   0   0   0   0   0   0
NRAS    0   0   0   1   0   0   0   0   0
TP53    0   0   0   0   1   0   0   0   0
TP53    0   0   0   0   0   1   0   0   0
TP53    0   0   0   0   0   0   1   0   0
SCYL2   0   0   0   0   0   0   0   1   0
RNF19A  0   0   0   0   0   0   0   0   1

我需要提取值等于 1 的所有行和列标题对。我正在使用以下 R 脚本-

Pmatrix = read.csv ("file.csv", header= TRUE, row.names = 1)
sig_values <- which(Pmatrix==1, arr.in=TRUE)
cbind.data.frame(colIDs = colnames(Pmatrix)[ sig_values[, 1] ],rowIDs = rownames(Pmatrix)[ sig_values[, 2] ])

但出现错误-

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  duplicate 'row.names' are not allowed

如果我输入row.names = False,R 将假定没有行名并添加编号。但我需要的是行名和列名而不是数字。

【问题讨论】:

  • 你试过freaddata.table吗?
  • 不,如何在哪里使用那个函数?
  • 怎么会有同名的列和行?

标签: r csv matrix rstudio


【解决方案1】:

只需将名称定义为第一列...

Pmatrix<- read.csv(text = ",NBAS,DNAH9,NRAS,NRAS,TP53,TP53,TP53,SCYL2,RNF19A
                       NBAS,1,0,0,0,0,0,0,0,0
                       DNAH9,0,1,0,0,0,0,0,0,0
                       NRAS,0,0,1,0,0,0,0,0,0
                       NRAS,0,0,0,1,0,0,0,0,0
                       TP53,0,0,0,0,1,0,0,0,0
                       TP53,0,0,0,0,0,1,0,0,0
                       TP53,0,0,0,0,0,0,1,0,0
                       SCYL2,0,0,0,0,0,0,0,1,0
                       RNF19A,0,0,0,0,0,0,0,0,1")

    sig_values <- which(Pmatrix==1, arr.in=TRUE)

    cbind.data.frame(colIDs = colnames(Pmatrix)[ sig_values[, 2] ],rowIDs = Pmatrix[,1][ sig_values[, 1] ])
#>   colIDs                        rowIDs
#> 1   NBAS                          NBAS
#> 2  DNAH9                         DNAH9
#> 3   NRAS                          NRAS
#> 4 NRAS.1                          NRAS
#> 5   TP53                          TP53
#> 6 TP53.1                          TP53
#> 7 TP53.2                          TP53
#> 8  SCYL2                         SCYL2
#> 9 RNF19A                        RNF19A

【讨论】:

  • 但是如果文件是13367*13367长的矩阵怎么办?
  • 它是如何格式化的?使用空格,就像你的例子一样?还是 CSV?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 2012-02-09
  • 2020-12-10
  • 1970-01-01
  • 2014-05-11
相关资源
最近更新 更多