【发布时间】:2019-07-12 02:03:55
【问题描述】:
所以我目前有几个函数,我想修改在函数外部创建的矩阵,以便将其用作函数内部发生的事情的计数变量。该矩阵名为 cost_counter,我想在多个函数内部发生某些事件时添加它。但是,我希望该解决方案仍然能够在 foreach() 中使用并且可以并行化。
我知道不推荐使用
cost_counter <<- matrix(0,nrow = 2, ncol = 12*15)
I0 <- function(){
if (screen[i] == 1){
cost_counter[2,ages[i]] <<- 1 + cost_counter[2,ages[i]] + 1
if(HIV[i] == 1){
if(ages[i] > 35){
if(pv[(i-min_i+1),1] < (1-specP3)){
cost_counter[1,ages[i]] <<- cost_counter[1,ages[i]] + 1
if(contact[i] == 1){return(c(5,0))}
}
}
当我运行时,错误消息只是说 “cost_counter[2,ages[i]]
我希望能够修改矩阵,并让它被识别。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
不仅不推荐
<<-,更重要的是需要它的方法(正是你想要做的,即修改函数范围之外的对象)。
标签: r matrix environment