[R] saveRDS() and readRDS() Why? [solved, pretty much anyway)
p_connolly
p_connolly @ending from @ling@hot@co@nz
Mon Nov 12 21:42:19 CET 2018
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
More information about the R-help
mailing list