为什么导出的行名在R中总是偏1?

时间:2013-07-26 20:47:57

标签: r

在R中,导出CSV时为什么列名总是偏离1?

x=matrix(c(1,2,3,4), nrow=2)
rownames(x) <- c("row1", "row2")
colnames(x) <- c("col1", "col2")

>x
          col1 col2
    row1    1    3
    row2    2    4

write.table(x,"/Users/username/Desktop/x.csv", sep=",")

列名称始终向左移动一列:

*The resulting CSV looks like this when opened in Excel:*
 col1   col2    
 row1   1      3
 row2   2      4

*The resulting CSV looks like this when opened in TextEdit:*
 "col1","col2"
 "row1",1,3
 "row2",2,4

我一直有这个问题,但是现在我的代码被用于专业目的,而不仅仅是玩数据,我需要弄清楚如何避免这种情况。我觉得这很容易解决。

1 个答案:

答案 0 :(得分:7)

文档可以为您提供答案:

  

默认情况下,行名称列没有列名。如果   col.names = NA和row.names = TRUE添加空白列名称,   这是用于由电子表格读取的CSV文件的约定。   请注意,可以通过read.csv(file =。)在R中读取此类CSV文件   “”,row.names = 1)

因此,请使用write.csv或将col.names = NA添加到write.table