> -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Ivan Calandra > Sent: Thursday, January 13, 2011 6:44 AM > To: r-help@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@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: rai...@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@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.calan...@uni-hamburg.de > > ********** > http://www.for771.uni-bonn.de > http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php > > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.