作者lianhua (莲华)
看板R_Language
标题[问题] 记忆体不足
时间Sat Jun 22 08:00:34 2013
[问题类型]:
程式谘询
[软体熟悉度]:
使用者
[问题叙述]:
因为我需要跑大量的贝氏模拟,大回圈次数500次
大回圈里面的小回圈20000次
每一次小回圈都需要生成一个5XM (M大概100左右) 的矩阵
但是我的电脑大回圈大概都跑个200次左右就会跳出
错误: 无法配置大小为 526.2 Mb 的向量
这种讯息 请问是我的电脑记忆体不足,还是语法太拙劣?
[程式范例]:
程式很长,所以仅贴部分
N = 500
L0 = numeric()
L1 = numeric()
L2 = numeric()
Alpha1 = numeric()
Alpha2 = numeric()
for(k in 1:N){
set.seed(k)
.
.
.
这里是我怀疑出错的部分,因为如果我不是生成随机矩阵的话
就不会有这个问题
iter = 20000
repeat{
### step 1 fill up Z ###
g1 = function(x){
((l1+l0)*c1*(x^(c1-1)))/((l1+l0)*c1*(x^(c1-1))+l2*c2*(x^(c2-1)))
}
g2 = function(x){
(l1*c1*(x^(c1-1)))/(l1*c1*(x^(c1-1))+(l2+l0)*c2*(x^(c2-1)))
}
Z1 = matrix(,ncol=2,nrow=length(t1))
Z2 = matrix(,ncol=2,nrow=length(t2))
for(i in 1:length(t1)){
Z1[i,] = rmultinom(1,1,c(g1(t1[i]),(1-g1(t1[i]))))
}
for(i in 1:length(t2)){
Z2[i,] = rmultinom(1,1,c(g2(t2[i]),(1-g2(t2[i]))))
}
}
想请各位先进为我解答,感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.45.220
※ 编辑: lianhua 来自: 140.115.45.220 (06/22 08:01)
1F:→ celestialgod:会跳出那个讯息 基本上是记忆体不足 06/22 20:02