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'?
-- 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?
Any advice would be much appreciated.
Cheers,
David
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'?
-- 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?
Any advice would be much appreciated.
Cheers,
David
On Wed, Jul 09, 2003 at 10:53:27AM +0100, David Firth wrote:> 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'? > -- 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?If you include a file data/foo.csv, also include a file data/foo.R as the .R extension (for code) is examined before the .csv extension for the data file. That way, in the .R file you can specify exactly which options are to be used when the file is loaded. Dirk -- Don't drink and derive. Alcohol and analysis don't mix.