首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更有效的.RData?

更有效的.RData?
EN

Stack Overflow用户
提问于 2014-03-18 15:59:56
回答 1查看 428关注 0票数 3

我正在处理大型数据集,经常在我的工作站和笔记本电脑之间切换。将工作区映像保存到.RData对于我来说是最自然和方便的方法,所以这是我想要在两台计算机之间同步的文件。

不幸的是,它往往相当大(几GB),所以高效的同步要么需要我用电缆连接我的笔记本电脑,要么用USB棒移动文件。当我在工作站旁边时,如果我忘记同步我的笔记本电脑,我需要花上几个小时来确保所有的东西都同步。

然而,最大的对象变化相对较少(尽管我经常使用它们)。我可以将它们保存到另一个文件中,然后在保存会话之前删除它们,并在还原会话后加载它们。这是可行的,但会非常烦人。而且,无论何时修改它们,我都必须记住保存它们。很快就会一片狼藉。

是否有更有效的方法来处理这么大的数据块?

例如,如果有一种替代.RData格式-- .RData是一个目录,并且该目录中的文件是要加载的对象,我的问题就会得到解决。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 16:44:07

您可以使用saveRDS

代码语言:javascript
复制
objs.names <- ls()
objs <- mget(objs.names) 
invisible(
  lapply(
    seq_along(objs), 
    function(x) saveRDS(objs[[x]], paste0("mydatafolder/", objs.names[[x]], ".rds"))
) )

这将将会话中的每个对象保存到"mydatafolder“文件夹中作为一个单独的文件(确保在手动之前创建该文件夹)。

不幸的是,这将修改所有对象的时间戳,您不能依赖rsync。您可以首先使用readRDS读取对象,查看哪些对象在identical中发生了更改,并且只对更改的对象运行上面的lapply,这样您就可以使用类似于rsync的东西了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22484634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档