导出没有col.names的CSV
我需要一个data.frame并将其导出到CSV文件(或其他东西,但CSV似乎是最简单的格式良好的格式),所以我可以将其导入到SQLite数据库。 
 但是,它看起来像write.csv()要求我写一个标题行,而SQLite的.import命令要求我没有标题行。 所以这是一个不匹配的。 
以下是如果我试图省略标题行会发生什么情况:
 > write.csv(mydf, "/tmp/mydf.csv", row.names=F, col.names=F) Warning message: In write.csv(mydf, "/tmp/mydf.csv", row.names = F, col.names = F) : attempt to set 'col.names' ignored 
 我不得不想知道为什么它首先执行 – 手册说: “这些包装是故意不灵活的:它们的devise是为了确保使用正确的约定写一个有效的文件。试图改变append , col.names , sep , dec或qmethod被忽略,并带有警告。 但是我不知道规范或其他地方需要列名 – 实际上,大多数工具(Excel等)并没有特别对待它们。 
如果你不能打败他们,join他们。
 如果你切换到write.table() ( write.csv()调用),你是黄金: 
 R> write.table(trees, file="/tmp/trees.csv", + row.names=FALSE, col.names=FALSE, sep=",") R> system("head /tmp/trees.csv") 8.3,70,10.3 8.6,65,10.3 8.8,63,10.2 10.5,72,16.4 10.7,81,18.8 10.8,83,19.7 11,66,15.6 11,75,18.2 11.1,80,22.6 11.2,75,19.9 R> 
 你可以直接导入到SQLite。 下面将内置的数据框BOD导入到SQLite数据库my.db (如果my.db不存在)。 
 library(RSQLite) con <- dbConnect(SQLite(), dbname = "my.db") dbWriteTable(con, "BOD", BOD, row.names = FALSE) dbDisconnect(con) 
使用write.table()来代替:
 write.table(mydf, "/tmp/mydf.csv", row.names=F, col.names=F, sep=",")