【问题标题】:Why can't I break an *.Rdata loading process?为什么我不能中断 *.Rdata 加载过程?
【发布时间】:2017-10-01 18:43:19
【问题描述】:

在尝试使用load("*.Rdata") 中断加载 *.Rdata 文件时,R 似乎没有响应。是什么原因,有没有办法解决?

我试图用不同的文件和大小打破几个文件加载过程。唯一的可能性似乎是终止 R。我正在处理加载时间超过半小时的大文件。

【问题讨论】:

  • 这些东西有多大? R 正在尝试将它们加载到 RAM 中,如果您有 TB 的 RAM,那么 30m 应该足够长以将 TB 加载到 RAM 中……您可能没有。

标签: r import interrupt rdata


【解决方案1】:

我认为你被困住了。 R 不保证低级进程是否可以被用户中断。低级 C 代码需要调用 R_CheckUserInterrupt() 以“注意到”用户中断执行的请求(请参阅 Wickham 的 advanced r book。如果您愿意,可以查看低级 code for loading data(尽管它可能不要太有帮助...)

我能想到的唯一解决方法(除了确保您确实想要加载特定的数据文件之外)是找到将数据分解为较小块的方法(并在将它们读入 R 后适当地连接这些块)。如果数据读取是一个非常大的瓶颈,您可以查看关于内存不足数据工具的high-performance computing task view 部分...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多