[R] saveRDS() and readRDS() Why?

Jan van der Laan rhelp @ending from eoo@@dd@@nl
Wed Nov 7 10:15:33 CET 2018


Are you sure you didn't do saveRDS("rawData", file = "rawData.rds") 
instead of saveRDS(rawData, file = "rawData.rds") ? This would explain 
the result you have under linux.

In principle saveRDS and readRDS can be used to copy objects between 
R-sessions without loosing information.

What does readRDS return on windows with the same file?

What type of object is rawData? Do str(rawData). Some objects created by 
packages cannot be serialized, e.g. objects that point to memory 
allocated by a package. The pointer is then serialized not the memory 
pointed to.

Also, if the object is generated by a package, you might need to load 
the package to get the printing etc. of the object right.

HTH,

Jan







On 07-11-18 09:45, Patrick Connolly wrote:
> On Wed, 07-Nov-2018 at 08:27AM +0000, Robert David Burbidge wrote:
> 
> |> Hi Patrick,
> |>
> |> From the help: "save writes a single line header (typically
> |> "RDXs\n") before the serialization of a single object".
> |>
> |> If the file sizes are the same (see Eric's message), then the
> |> problem may be due to different line terminators. Try serialize and
> |> unserialize for low-level control of saving/reading objects.
> 
> I'll have to find out what 'serialize' means.
> 
> On Windows, it's a huge table, looks like it's all hexadecimal.
> 
> On Linux, it's just the text string 'rawData' -- a lot more than line
> terminators.
> 
> Have I misunderstood what the idea is?  I thought I'd get an identical
> object, irrespective of how different the OS stores and zips it.
> 
> 
> 
> |>
> |> Rgds,
> |>
> |> Robert
> |>
> |>
> |> On 07/11/18 08:13, Eric Berger wrote:
> |> >What do you see at the OS level?
> |> >i.e. on windows
> |> >DIR rawData.rds
> |> >on linux
> |> >ls -l rawData.rds
> |> >compare the file sizes on both.
> |> >
> |> >
> |> >On Wed, Nov 7, 2018 at 9:56 AM Patrick Connolly <p_connolly using slingshot.co.nz>
> |> >wrote:
> |> >
> |> >> From a Windows R session, I do
> |> >>
> |> >>>object.size(rawData)
> |> >>31736 bytes  # from scraping a non-reproducible web address.
> |> >>>saveRDS(rawData, file = "rawData.rds")
> |> >>Then copy to a Linux session
> |> >>
> |> >>>rawData <- readRDS(file = "rawData.rds")
> |> >>>rawData
> |> >>[1] "rawData"
> |> >>>object.size(rawData)
> |> >>112 bytes
> |> >>>rawData
> |> >>[1] "rawData" # only the name and something to make up 112 bytes
> |> >>Have I misunderstood the syntax?
> |> >>
> |> >>It's an old version on Windows.  I haven't used Windows R since then.
> |> >>
> |> >>major          3
> |> >>minor          2.4
> |> >>year           2016
> |> >>month          03
> |> >>day            16
> |> >>
> |> >>
> |> >>I've tried R-3.5.0 and R-3.5.1 Linux versions.
> |> >>
> |> >>In case it's material ...
> |> >>
> |> >>I couldn't get the scraping to work on either of the R installations
> |> >>but Windows users told me it worked for them.  So I thought I'd get
> |> >>the R object and use it.  I could understand accessing the web address
> |> >>could have different permissions for different OSes, but should that
> |> >>affect the R objects?
> |> >>
> |> >>TIA
> |> >>
> |> >>--
> |> >>~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> |> >>    ___    Patrick Connolly
> |> >>  {~._.~}                   Great minds discuss ideas
> |> >>  _( Y )_                 Average minds discuss events
> |> >>(:_~*~_:)                  Small minds discuss people
> |> >>  (_)-(_)                              ..... Eleanor Roosevelt
> |> >>
> |> >>~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> |> >>
> |> >>______________________________________________
> |> >>R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> |> >>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.
> |> >>
> |> >	[[alternative HTML version deleted]]
> |> >
> |> >______________________________________________
> |> >R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> |> >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