在S4对象中有效设置参数

时间:2016-10-03 20:02:24

标签: r s4

我在R中编写一个模拟模型来跟踪一组交互代理的行为。为了我自己的理智,我给每个代理提供了自己的S4对象,我在其中存储了它的轨迹和其他参数。目前,我将一个对象传递给一个函数,执行一些操作,然后将该对象传回。例如,

#Create a new class and a sample object
setClass("example", slots = list(N="numeric"), prototype = list(N=0))    
agentA<-new("example") 

#Define a function to change the value in the N slot
add_one<-function(agent){  
    agent@N<-agent@N + 1
    agent
}

#Call the function.  
agentA<-add_one(agentA)

我知道这是有效的,并且对我来说非常重要的是结构是模块化的并且易于调试,但是我想知道来回传递代理对象的开销。大多数对象包含具有几千个数字的数组,并且它们将来回传递数千次。有没有更有效的方法来做到这一点,还是足够接近最佳实践?

我不清楚对象被复制的次数,而不是只传递一个指针。

0 个答案:

没有答案