Andreas Christmann
2003-Jul-10 10:39 UTC
[R] RE: packaged datasets in .csv format (David Firth)
> ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 9 Jul 2003 10:53:27 +0100 > From: David Firth <david.firth at nuffield.oxford.ac.uk> > Subject: [R] packaged datasets in .csv format > To: r-help at stat.math.ethz.ch > Message-ID: > <307D34CE-B1F3-11D7-A8D2-0050E4C03977 at nuffield.oxford.ac.uk> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > A couple of questions in connection with using .csv format to include > data in a package: > > First, the background. The data() function loads data from .csv > ("comma-separated values") files using > > read.table(..., header = TRUE, sep = ";") > > But ?read.table says > > ## To write a CSV file for input to Excel one might use > write.table(x, file = "foo.csv", sep = ",", col.names = NA) > ## and to read this file back into R one needs > read.table("file.csv", header = TRUE, sep = ",", row.names=1) > > As a result, .csv files created by write.table() as above are not read > in by data() in the way that might be expected [that is, expected by > someone who had not read help(data)!] > > Two questions, then: > -- is there some compelling reason for the use of `sep = ";"' in place > of `sep = ",", row.names=1'?I prefer ";" instead of "," , because in text variables there are often ",".> -- if I want to maintain a dataset in .csv format, for use both in R > and in other systems such as Excel, SPSS, etc, what is the best way to > go about it?Depends. Perhaps it is best to check it out for the software packages and the versions of the software packages you are using. Andreas Christmann> > Any advice would be much appreciated. > > Cheers, > David
Andreas Christmann wrote:>> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Wed, 9 Jul 2003 10:53:27 +0100 >> From: David Firth <david.firth at nuffield.oxford.ac.uk> >> Subject: [R] packaged datasets in .csv format >> To: r-help at stat.math.ethz.ch >> Message-ID: >> <307D34CE-B1F3-11D7-A8D2-0050E4C03977 at nuffield.oxford.ac.uk> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> A couple of questions in connection with using .csv format to include >> data in a package: >> >> First, the background. The data() function loads data from .csv >> ("comma-separated values") files using >> >> read.table(..., header = TRUE, sep = ";") >> >> But ?read.table says >> >> ## To write a CSV file for input to Excel one might use >> write.table(x, file = "foo.csv", sep = ",", col.names = NA) >> ## and to read this file back into R one needs >> read.table("file.csv", header = TRUE, sep = ",", row.names=1) >> >> As a result, .csv files created by write.table() as above are not read >> in by data() in the way that might be expected [that is, expected by >> someone who had not read help(data)!] >> >> Two questions, then: >> -- is there some compelling reason for the use of `sep = ";"' in >> place of `sep = ",", row.names=1'?Do you really want an answer? Today, one reason is compatibility to all the other packages on CRAN.> I prefer ";" instead of "," , because in text variables there are often > ",".That's why text variables can be quoted.> >> -- if I want to maintain a dataset in .csv format, for use both in R >> and in other systems such as Excel, SPSS, etc, what is the best way to >> go about it?When regularly using that many systems on the same data sets, it might be worth using a database system, e.g. MySQL. BTW: R *and* Excel *and* (for sure, but I haven't tested) also SPSS can read a couple of different ASCII formatted files, so there are quite a lot possible formats. Uwe Ligges> Depends. Perhaps it is best to check it out for the software packages > and the versions of the software packages you are using.>> Andreas Christmann > >> >> Any advice would be much appreciated. >> >> Cheers, >> David