[R] Editing data sheet issue with write.table append

Jeff Newmiller jdnewmil at dcn.davis.CA.us
Sat Apr 20 17:13:54 CEST 2013


a) Your terminology "data sheet" is foreign to R (and this mailing list). It implies a computing model that R does not use.

b) You appear to be complaining about the behavior of software other than R on the R-help mailing list, which is pointless.

c) I think the chances of adding code to base R to fix the broken behavior of another software package is highly unlikely, particularly when from your description you might or might not end up with the missing newline depending on whether you choose to modify any particular file outside R. Putting in a newline every time would make R just as broken as Excel.

4) You can put in newlines before or after your write.table call using the ?cat function. Read the data input and output manual for details... but beware that write.table is a high-level function that intentionally tries to generate a coherent representation of the data table as a single block of text. If you need to tweak within that text then you may need to make your own special output function.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

Vinny Moriarty <vwmoriarty at gmail.com> wrote:

>I'm running R 2.15.2 on Max OS X 10.6.8
>
>
>If I write a simple file
>
>Data1<-1
>DF<-data.frame(Data1)
>colnames(DF)<-"Col1"
>
>and write to a csv file
>
>write.table(DF,file="Data.csv",sep=",",row.names=FALSE,col.names=TRUE)
>
>I can then append to it no problem
>
>Data2<-2
>Data3<-4
>
>
>DF2<-data.frame(Data2)
>DF3<-data.frame(Data3)
>
>write.table(DF2,file="Data.csv",sep=",",row.names=FALSE,col.names=FALSE,append=TRUE)
>write.table(DF3,file="Data.csv",sep=",",row.names=FALSE,col.names=FALSE,append=TRUE)
>
>
>All good so far.
>
>But the problem arises if I then need to edit the data sheet and
>continue
>to append using the above code. If I open up the data sheet in excel
>and
>delete a line, the next time I try and append the data as above the
>first
>new line of data starts at the end of the last row of data (though all
>subsequent new lines are appended properly).
>
>I'm sure when I manually delete the line in excel I am removing the
>invisible carriage return character, causing the first line of new data
>to
>be added onto where the carriage return used to be.
>
>Is there a way to specify in append=TRUE to always start with a new
>line of
>data in the spreadsheet? Failing that, is there a work around to avoid
>this
>problem?
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>R-help at r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list