1

在 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

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

4

1 回答 1

7

该文档为您提供了答案:

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

所以,要么使用,要么write.csv添加col.names = NAwrite.table.

于 2013-07-26T21:12:54.067 回答