[问题类型]:
程式咨询(我想用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
[关键字]:
内存空间