gpt4 book ai didi

r - 将可用系统内存分配给 R 中的变量的更好方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:22 27 4
gpt4 key购买 nike

我有一个内存密集型脚本,除非有很大的空闲 block ,否则我不希望它运行。所以我写了这个:

library(dplyr)
system("free | tee free.txt")
memfree <- read.delim("free.txt")[1,] %>% as.character %>%
strsplit(" ") %>%
unlist %>%
(function(x){x[length(x)]}) %>%
as.numeric/1e6
system("rm free.txt")

我得到一个 memfree 变量,我可以将它用作条件。

但必须有更好的方法,它不涉及将 cruft 保存到磁盘然后再次读取它,并进行奇怪的字符串解析。这是什么?

最佳答案

一个解决方案是

freemem <- function(){
tmp <- system("free", inter=TRUE)[2]
tmp <- gsub("(?<=[\\s])\\s*|^\\s+|\\s+$", "", tmp, perl=TRUE)
as.numeric(strsplit(tmp, " ")[[1]][4])/1e6
}
freemem()

在我的 system("free") 输出中,空闲内存显示在第四列,而不是最后一列。

关于r - 将可用系统内存分配给 R 中的变量的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com