如何在R中创建的矩阵保存为文本文件中的表格,且列名与矩阵相同?


有时需要将矩阵数据保存为文本文件中的表格,原因是文本文件的存储容量。但是,当我们将矩阵作为文本文件保存在R中时,列名会错位,因此我们需要处理这些名称,这可以通过将列名设置为所需值来完成。

> M<-matrix(1:16,nrow=4)
> M
      [,1] [,2] [,3] [,4]
[1,]    1    5    9   13
[2,]    2    6   10   14
[3,]    3    7   11   15
[4,]    4    8   12   16
> colnames(M)<-c("A1","A2","A3","A4")
> rownames(M)<-c("R1","R2","R3","R4")
> M
   A1 A2 A3  A4
R1 1   5  9  13
R2 2   6 10  14
R3 3   7 11  15
R4 4   8 12  16
> write.table(M, 'M.txt')

此文件将保存到您系统的文档文件夹中,输出如下所示:

输出

现在,这里的列名A1位于行的上方,但我们不希望它以这种形式出现,因为它使我们的最后一列A4为空白。因此,我们需要以与在R中相同的方式将矩阵M保存为表格。这可以通过以下方式完成:

> write.table(M, 'M.txt', col.names=NA)

现在保存的文件应如下所示:

输出

主要目标是将文件保存为列名位于其值上方的形式,否则阅读表格会令人困惑。

让我们来看另一个例子:

:
> new_matrix<-matrix(letters[1:16],nrow=4)
> new_matrix
  [,1] [,2] [,3] [,4]
[1,] "a" "e" "i" "m"
[2,] "b" "f" "j" "n"
[3,] "c" "g" "k" "o"
[4,] "d" "h" "l" "p"
> colnames(new_matrix)<-c("C1","C2","C3","C4")
> rownames(new_matrix)<-c("R1","R2","R3","R4")
> new_matrix
   C1  C2  C3  C4
R1 "a" "e" "i" "m"
R2 "b" "f" "j" "n"
R3 "c" "g" "k" "o"
R4 "d" "h" "l" "p"
> write.table(new_matrix, 'new_matrix.txt', col.names=NA)

保存的文件将如下所示:

输出

更新于:2020年8月10日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告