如何将数据框保存在由列分隔的txt或excel文件中

时间:2013-08-29 15:10:21

标签: r

我有一个关于以txt或excel格式保存数据帧的问题。我在R中有一个数据框但是当我保存它时:

  1. 当我在Excel中打开保存的数据框时,首先使用write.table()函数,所有列都分组在一列中,您必须在Excel中分隔列,否则会丢失数据。 write.csv()函数也是如此。
  2. 是否可以在R中保存所有列分开的数据框。感谢。

5 个答案:

答案 0 :(得分:20)

我最喜欢的方法是实现这一目标(因为我经常需要与非R用户共享在R中处理的数据框,并且方便他们只需双击并在Excel中打开它):

write.table(x,"filename.txt",sep="\t",row.names=FALSE)

如上所述,sep="\t"参数选项卡会分隔您的文件,但我认为除非需要,否则删除行名称也很有用。

答案 1 :(得分:2)

write.table的默认分隔符是单个空格。虽然.txt通常用于表示电子表格,但它真正表明的是它是一个文本文件。如果您想要的是.tsv或带有标签分隔值的文件,则可以尝试write.table(x,sep="\t")。这将选项卡界定您的文件,当您尝试打开文件时,excel应该选择该文件。我真的建议您在?write.table(以及?read.table的同时)阅读这篇文章。因为,即使您的代码是完美的,如果您不正确地读取或写入数据,那么重点是什么?

答案 2 :(得分:1)

您应该可以使用write.csv()执行此操作。

这是一个适用于我的机器的示例。我创建了一个data.frame,并使用write.csv进行保存,并在Excel中打开它而没有问题。

a <- 1:5
b <- 6:10
c <- 11:15

df <- data.frame(a,b,c)

write.csv(df, 'test2.csv')

答案 3 :(得分:1)

您保存的文件可能很好,您只是错误地将其加载到Excel中(如果没有示例,很难确定)。导入Excel时,有多种方法可以指定分隔符和其他选项。您还可以通过在write.table中设置一些选项来简化流程。同时检查您的区域设置,默认分隔符可能会有所不同,具体取决于您的计算机是否认为它位于欧洲(或某些国家/地区)或美国(或某些其他国家/地区),可能是您的R版本和您的Excel版本不同意您所在的区域(以及使用哪个分隔符)。

您可能还想查看XLConnect包,它将直接创建excel文件,而无需通过文本文件。 (还有一些其他软件包也会写入excel文件,但XLConnect是我最好的经验之一。)

将数据框或矩阵快速传输到excel的另一个选项(至少在Windows上,不确定这是否适用于其他操作系统)是使用带有file="clipboard"sep="\t"的写表,然后是Excel窗口单击一个单元格,然后执行“粘贴”,数据将通过剪贴板而不是文件在Excel中。

答案 4 :(得分:0)

使用以下

A