Write a data frame to csv file without column header in R

r col
Amm picture Amm · Oct 7, 2013 · Viewed 67.3k times · Source

I would like to store the contents of my data frame into a .csv file without the names of columns. I use the following piece of code,

write.csv(cur_data,new_file, row.names = F, col.names=F)

The resulting file looks like this,

"V1","V2"
-0.02868862,5.442283e-11
-0.03359281,7.669754e-12
-0.03801883,-1.497323e-10
-0.04320051,-6.557672e-11

However I would like to have the file in the following format,

-0.02868862,5.442283e-11
-0.03359281,7.669754e-12
-0.03801883,-1.497323e-10
-0.04320051,-6.557672e-11

I don't understand why the the col.names parameter in the code is not taken into consideration

Answer

Ricardo Saporta picture Ricardo Saporta · Oct 7, 2013

Dont use write.csv, use write.table

 write.table( <yourdf>, sep=",",  col.names=FALSE)

You cannot change many settings in write.csv -- the arguments are just there as a reminder to the user. From the documentation:

These wrappers are deliberately inflexible: they are designed to ensure that the correct conventions are used to write a valid file. Attempts to change append, col.names, sep, dec or qmethod are ignored