使用正确的对齐方式将矩阵保存到.txt文件

时间:2015-09-29 01:58:17

标签: r write.table

我正在尝试将R中的矩阵保存为文本文件,该文件以制表符分隔,并包含行名和列名并正确对齐。

我试过这个:

write.table(data, "mytable.txt", sep="\t", col.names=TRUE)

但是当我打开文件时,这是混乱的混乱。我认为它与我的行名或列名未指定有关,但我不确定。

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码,它将使用您从R控制台打印时看到的整洁格式将矩阵的输出写入文件:

max.print <- getOption('max.print')
options(max.print=nrow(data) * ncol(data))
sink('data.txt')
data
sink()
options(max.print=max.print)

查找名为data.txt的输出文件。要查找位置,请从R控制台执行File -> Open script。它应该在对话框打开的目录中可见。

免责声明:我基本上从this SO post剪切并粘贴了此代码,其中您的问题实际上是重复的。

答案 1 :(得分:0)

来自write.table有关CSV(也是制表符分隔)文件的帮助页面:

  

CSV文件。默认情况下,行列没有列名   名。如果col.names = NA且row.names = TRUE,则为空白列名称   加入

由于row.names = TRUE是默认设置,如果您将col.names=TRUE更改为col.names=NA,则输出应正确对齐。