Unexpected behaviour of write.csv - read.csv
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Ivan Calandra Sent: Thursday, January 13, 2011 6:44 AM To: r-help at r-project.org Subject: Re: [R] Unexpected behaviour of write.csv - read.csv Hi, I thought this was already clear from the replies to your previous post: - save/load - saveObject/loadObject from R.utils - dput/dget (I don't remember who proposed it sorry)
Add serialize()/unserialize() from base. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com
There might be more possibilities, but that should do what you're looking for. And you should already know how each of them work and therefore the pros and cons. HTH, Ivan Le 1/13/2011 15:08, Rainer M Krug a ?crit :
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/13/2011 02:56 PM, Duncan Murdoch wrote:
On 11-01-13 6:26 AM, Rainer M Krug wrote: Hi Assuming the following:
x<- data.frame(a=1:10, b=runif(10)) str(x)
'data.frame': 10 obs. of 2 variables: $ a: int 1 2 3 4 5 6 7 8 9 10 $ b: num 0.692 0.325 0.634 0.16 0.873 ...
write.csv(x, "x.csv")
x2<- read.csv("x.csv")
str(x2)
'data.frame': 10 obs. of 3 variables: $ X: int 1 2 3 4 5 6 7 8 9 10 $ a: int 1 2 3 4 5 6 7 8 9 10 $ b: num 0.692 0.325 0.634 0.16 0.873 ... Using the two functions write.csv and read.csv, I would
assume, that the
resulting data.frame x2 be identical with x, but it has an
additional
column X, which contains the row names of x. I know read.table and write.table which work as expected,
but I would
like to use a csv for data exchange reasons. I know that I can use write.csv(x, "x.csv", row.names=FALSE) and it would work, but shouldn't that be the default behaviour?
I don't think so. The CSV format is an export format
which holds less
information than a dataframe. By exporting the dataframe
to CSV and
importing the result, you are discarding information and
you should
expect to get something different.
OK - I can follow this logic - and I think I can accept it.
If you want to save a dataframe to disk and read it back
unchanged, you
should use save() and load().
And now my question from a previous thread (write.table
equivalent for
lists?) comes up again: using save() and load() definitely works, but it is highly
unsave - as
it even keeps the names of the object, more then one can be
saved, I can
not easily assign the saved object to a new name, I have
problems using
the saved object if I have forgotten what the variable name was. So I would like to expand my previous question: what are the proper functions to store R objects? One could argue that all write... functions are export functions - therefore keeping the data, but not necessarily column names, rownames, attributes, ... So what can I really do to save an R object for later usage in R? Rainer
Duncan Murdoch
And if this is not compliant with csv files, shouldn't the function read.csv convert the first column into the row names? Cheers, Rainer
______________________________________________ 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. - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel: +33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: Rainer at krugs.de Skype: RMkrug -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0vB2oACgkQoYgNqgF2egqenQCeJJNdIiX2faKBPGeilzOz73wM RmoAn05oGZvo41wCp1+hWwTqTmNoQrNo =xfWD -----END PGP SIGNATURE----- ______________________________________________ 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. -- Ivan CALANDRA PhD Student University of Hamburg Biozentrum Grindel und Zoologisches Museum Abt. S?ugetiere Martin-Luther-King-Platz 3 D-20146 Hamburg, GERMANY +49(0)40 42838 6231 ivan.calandra at uni-hamburg.de ********** http://www.for771.uni-bonn.de http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php ______________________________________________ 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.