[R] saveRDS() and readRDS() Why? [solved, pretty much anyway)
William Dunlap
wdunl@p @ending from tibco@com
Tue Nov 13 00:55:33 CET 2018
You wrote:
## On Windows 3.4.2
> x <- airquality
> saveRDS(x, file = "x.rds")
> saveRDS(x, file = "y.rds")
>
Files x.rds and y.rds are identical in size but utterly different in
content.
Wow! Can you show us the results of
x <- datasets::airquality
saveRDS(x, file="x.rds")
saveRDS(x, file="y.rds")
tools::md5sum(c("x.rds", "y.rds"))
dput(readBin("x.rds", what="raw", n=file.size("x.rds")))
dput(readBin("y.rds", what="raw", n=file.size("y.rds")))
(Copy and paste, as text, from the R session, so we can see the input and
the output in context.
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Mon, Nov 12, 2018 at 12:42 PM, p_connolly <p_connolly using slingshot.co.nz>
wrote:
> On 2018-11-12 22:49, peter dalgaard wrote:
>
>> Er, where, what, how? I can't reproduce that, at least not on 3.5.1 on
>> MacOS:
>>
>> x <- airquality
>>> saveRDS(x, file = "x.rds")
>>> x <- NULL
>>> x <- readRDS(file = "x.rds")
>>> x
>>>
>> Ozone Solar.R Wind Temp Month Day
>> 1 41 190 7.4 67 5 1
>> 2 36 118 8.0 72 5 2
>> 3 12 149 12.6 74 5 3
>> ...
>>
>> Looks fine to me.
>>
>>
> It seems to work fine using the same installation to read as used for the
> save.
> But it's a different story if the save was done on a Windows installation
> and read on a Linux installation.
>
> ## On Windows 3.4.2
>
>> x <- airquality
>> saveRDS(x, file = "x.rds")
>> saveRDS(x, file = "y.rds")
>>
>
> Files x.rds and y.rds are identical in size but utterly different in
> content.
>
> ## On Linux 3.5.1
>
> x <- readRDS(file = "x.rds")
>>
> Error in readRDS(file = "x.rds") : error reading from connection
>
>> x <- readRDS(file = "y.rds")
>> head(x)
>>
> Ozone Solar.R Wind Temp Month Day
> 1 41 190 7.4 67 5 1
> 2 36 118 8.0 72 5 2
> 3 12 149 12.6 74 5 3
> 4 18 313 11.5 62 5 4
> 5 NA NA 14.3 56 5 5
> 6 28 NA 14.9 66 5 6
>
> It might just be the age of the Windows installation. I don't have much
> use for Windows, so I haven't had much inclination to install a newer
> version.
>
> YMMV
>
>
>
> ?
>> -pd
>>
>>
>> On 12 Nov 2018, at 08:28 , Patrick Connolly <p_connolly using slingshot.co.nz>
>>> wrote:
>>>
>>> The solution was very simple. Don't use the same name for the rds
>>> file as used for the R object, viz a vie:
>>>
>>> saveRDS(x, file = "x.rds")
>>> and
>>> x <- readRDS(file = "x.rds")
>>>
>>> will not work; however
>>>
>>> saveRDS(x, file = "y.rds")
>>> and
>>> x <- readRDS(file = "y.rds")
>>> will work.
>>>
>>> An undocumented feature?
>>>
>>> Thanks to all who contributed.
>>>
>>
>> --
>> Peter Dalgaard, Professor,
>> Center for Statistics, Copenhagen Business School
>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
>> Phone: (+45)38153501
>> Office: A 4.23
>> Email: pd.mes using cbs.dk Priv: PDalgd using gmail.com
>>
>
> ______________________________________________
> 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/posti
> ng-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list