Re: [R] Adding header lines to a dataframe that is exported using write.csv

From: Duncan Murdoch <>
Date: Sun 26 Feb 2006 - 05:32:20 EST

On 2/25/2006 1:20 PM, Mark wrote:
> I would like to export a dataframe to a .csv using:

>> write.csv(dataframe,"dataframe.csv")

> but I need to add four "header" lines to the csv that are not part of
> the dataframe (which itself has a line of column headers).

Open a connection and write the header to it first, then write the dataframe. For example,

df <- data.frame(a=1:5,b=6:10)

f <- file("dataframe.csv", "w")

writeLines(paste(c(nrow(df), ncol(df)), c("plots", "species"), ",,,", sep=","),f)
writeLines(paste(rep(",Q", ncol(df)), collapse=""),f) write.csv(df, f)


Duncan Murdoch
> The difficulty (for me, at least!) lies in the requirement that
> certain elements of the header (X, Y and the number of "Q"s - please
> see example below) must be defined based on the number of rows and
> columns in the dataframe, which vary depending on the input file.
> Here's what the 3 .csv header lines should look like, followed by a
> number of dataframe rows (i.e., these lines are not R code, but are
> what R will produce).
> X, plots ,,,, #where X=number of rows in the dataframe
> Y, species,,,, #where Y=number of columns in the dataframe
> ,Q,Q,Q,Q,Q #where the number of Qs=the number of columns in the dataframe
> Those 3 .csv header lines would be followed by dataframe, which
> consists of one row containing column headers and X "data" rows:
> ,spec1,spec2,spec3,sp3c4,spec5 #these are the dataframe's column headers
> plot1,15.84,0,0,792,7 #this is an example "data" row
> In case the above is unclear, I have also attached a small .csv as an
> example of what the output should look like.
> Thank you. Mark
> ------------------------------------------------------------------------
> ______________________________________________
> mailing list
> PLEASE do read the posting guide! mailing list PLEASE do read the posting guide! Received on Sun Feb 26 05:42:23 2006

This archive was generated by hypermail 2.1.8 : Sun 26 Feb 2006 - 09:08:45 EST