【发布时间】:2020-07-04 00:45:55
【问题描述】:
我目前正在完成我的学士论文,并且是第一次使用 RStudio。 我有一个正在使用的小数据集,它只有 20MB。但是,当我尝试绘制它时,我收到错误“无法分配大小为 69.2GB 的向量”,这对我来说没有任何意义,因为我的数据甚至没有那么大。
我使用的是 64 位 Windows 并拥有 16GB RAM,这就是为什么我也使用 64 位 RStudio 版本的原因。
我尝试了以下方法:
我输入了memory.size(),结果得到了94.6。
我输入了memory.limit(),上面写着:16314。如果我输入 memory.limit(size = 16000) 它说不能减少内存上限,输入 size = 2500 或任何其他数字会产生相同的错误。
由于在 RStudio 中增加内存限制不起作用,我还尝试手动增加它:我右键单击桌面上的 RStudio 并将 --max-mem-size=16000M 放在目标字段中,这也没有改变任何东西。
这是我的代码:
Mois1 <- read.delim("D:/Daten/SoilMoisture/ALL_SM51_SE1_hourly.txt")
Temp1 <- read.delim("D:/Daten/SoilTemperature/ALL_ST51_SE1_hourly.txt")
Mois1 <- rename(Mois1, Date = Date_______Time.UTC. , SWC = SWC.Vol..)
Temp1 <- rename(Temp1, Date = X..Date_______Time.UTC. , Temperature = T..Â.C.)
Mois2019 <- Mois1[1:8756,]
Temp2019 <- Temp1[1:8760,]
plot(Mois2019)
错误出现在plot(Mois2019)之后
我上传了我在这里使用的两个数据文件的两个部分:
https://gofile.io/?c=5crw62
两个文档最初各有超过 86000 行。 Mois2019 和 Temp2019 这两个对象有 8756 和 8760,你可以在代码中看到。
如何增加我的内存限制?
【问题讨论】:
-
通读有关此主题的常见问题解答。如果您找不到要尝试的内容,请编辑此问题(或提出新问题),提供以下内容(a)您的数据的一小部分样本,最好复制/粘贴,如
dput(your_data[1:10, ])(b)(重要)您运行的产生错误的代码行,以及该行中使用的数据以外的任何对象的定义。 -
这些问题通常可以分为 2 类:(A)你保留了大量的大型数据集,你终于达到了内存限制,(B)你做了一些突然的操作使内存使用爆炸。根据您的错误消息中巨大的 69.2 GB,它可能是案例 (B),这是个好消息,因为这意味着问题可能是您执行某项尝试创建某项的单行代码巨人,如
expand.grid或笛卡尔积加入。但是我们只能在没有看到一些代码和示例数据的情况下猜测。 -
@GregorThomas Post 已编辑。
-
您的数据集中有多少列?
-
每个数据集有两列。