一个更高效的.RData?

一个更高效的.RData?,r,R,我使用大型数据集工作,经常在工作站和笔记本电脑之间切换。将工作区映像保存到.RData对我来说是最自然、最方便的方式,因此这就是我希望在两台计算机之间同步的文件 不幸的是,它往往相当大(几GB),因此高效的同步要么需要我用电缆连接笔记本电脑,要么需要用USB棒移动文件。如果我在工作站旁边的时候忘了同步笔记本电脑,那么我需要几个小时才能确保所有东西都同步 然而,最大的对象变化相对较少(尽管我经常使用它们)。我可以将它们保存到另一个文件中,然后在保存会话之前删除它们,并在恢复会话后加载它们。这会起作

我使用大型数据集工作,经常在工作站和笔记本电脑之间切换。将工作区映像保存到.RData对我来说是最自然、最方便的方式,因此这就是我希望在两台计算机之间同步的文件

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

然而,最大的对象变化相对较少(尽管我经常使用它们)。我可以将它们保存到另一个文件中,然后在保存会话之前删除它们,并在恢复会话后加载它们。这会起作用,但会非常烦人。此外,每当修改它们时,我必须记住保存它们。很快就会变成一片混乱

有没有更有效的方法来处理如此大的数据块


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

您可以使用
saveRDS

objs.names <- ls()
objs <- mget(objs.names) 
invisible(
  lapply(
    seq_along(objs), 
    function(x) saveRDS(objs[[x]], paste0("mydatafolder/", objs.names[[x]], ".rds"))
) )

objs.names这个问题的通常答案是使用SQL数据库的几个接口之一,或者使用为提高速度而设计的R软件包,例如
data.table
ff
。使用data.table如何提高同步存储数据的性能?
data。table
具有更快的输入功能:
fread
。是。这如何提高同步存储数据的性能?:-)你知道,当R甚至不运行的时候?当我在工作站和笔记本电脑之间同步时?正如我在问题中提到的,保存到磁盘不是瓶颈。通过无线传输是非常困难的。我想我不明白你的工作流程和你对术语“同步”的使用。(简单地用斜体字重复并不一定会增加意思。)好的,这似乎是正确的方向;我将不得不考虑如何或多或少地自动完成它。unison可能不需要时间戳。@我可能会用一月unison;也许git或Dropbox是值得研究的。@Clayton Stanley这不在讨论范围之内,但在尝试了智能Dropbox、unison、simple rsync和不那么简单的git之后,我决定使用unison。