Эффективная настройка параметров в объектах 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 ответов

Другие вопросы по тегам