如何在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)
保存的文件将如下所示:
输出
广告