作者AndrewShi (没有你的我)
看板R_Language
标题[问题] Error:can't allocate vector of size Gb
时间Fri Nov 2 18:08:53 2018
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
之前一开始用image画图出来之後,加上levelplot()那段指令都能画的出colorbar,但画
了几次之後,执行levelplot()那段指令都会出现下图中的错误讯息,且colorbar也没跑
出来。
我上了stackoverflow查到好像有人说这是记忆体空间的问题,而我也试了在levelplot指
令前加上gc(),且从工作管理员也看到记忆体用量降到40%左右,但执行levelplot()之後
还是出现同样的错误讯息,且在两台电脑试都一样,而我装了ff套件之後试也还是一样,
所以想请教各位大大这是什麽问题以及可以解决吗(除了换电脑记忆体的容量)??
小弟的电脑记忆体容量(RAM)为4GB。
[程式范例]:
rm(list=ls())
library(ncdf4)
library(data.table)
TRMM_data <- "C:\\Users\\TOM\\Desktop\\R(资料库)\\TRMM资料\\trmm_2010.nc"
obs <- nc_open(TRMM_data)
lon <- ncvar_get(obs,"lon")
lat <- ncvar_get(obs,"lat")
time <- ncvar_get(obs,"time")
precip <- ncvar_get(obs,"r")
time <- matrix(seq(as.Date("2010-01-01"), as.Date("2010-12-31"),1))
precip1 <- matrix(NA_real_,1440,400)
for(i in c(1:1440)){
for(j in c(1:400)){
precip1[i,j] <- mean(precip[i,j,time=(1:31)])
}
}
library(RColorBrewer)
image(lon,lat,precip1,col=rev(brewer.pal(10,"RdBu")))
gc()
library(lattice)
grid <- expand.grid(lon=lon, lat=lat)
cutpts <- c(0,5,10,15,20,25,30,35,40,45,50)
levelplot(precip ~ lon * lat, data=grid, at=cutpts, cuts=11, pretty=T,
col.regions=(rev(brewer.pal(10,"RdBu"))))
library(sp)
library(maps)
map(database='world2',add= TRUE)
[环境叙述]:
https://imgur.com/qdHINqH
[关键字]:
记忆体空间
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.231.180.201
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1541153336.A.8F9.html
1F:→ andrew43: 先确定是对precip还是precip1画图吧11/02 19:08
2F:→ AndrewShi: precip1,andrew大,这篇是你在问我之前写的XD11/03 00:08
※ 编辑: AndrewShi (180.217.184.236), 11/03/2018 00:09:43
3F:推 andrew43: 所以画图时你用错物件了。 11/03 01:17
4F:→ AndrewShi: 我知道了,precip要改成precip1,抱歉andrew大我又犯 11/03 01:32
5F:→ AndrewShi: 傻了XD 11/03 01:32
6F:→ AndrewShi: 不过andrew大~我之前在处理这种netcdf(nc)档的时候, 11/03 01:59
7F:→ AndrewShi: 像是读取降雨的变数,如果我的一个nc档案是10年(或以上 11/03 01:59
8F:→ AndrewShi: )的降雨资料的话,在读取降雨这个变数时好像也会出现这 11/03 01:59
9F:→ AndrewShi: 个错误讯息耶,这样的话有解决办法吗?? 11/03 01:59
10F:推 andrew43: 不确定也。可以发一篇新文问。 11/03 02:54
11F:→ AndrewShi: 恩恩,我之後处理资料如果有碰到同样问题再发文问问看 11/03 17:13
12F:→ AndrewShi: 。 11/03 17:13