如何从NetLogo中的行为空间提取变量

如何从NetLogo中的行为空间提取变量,netlogo,Netlogo,我使用的模型在模拟结束时返回一系列变量。我试图用行为空间对这组变量进行100次分析,但我无法得到一次模拟就能轻松找到的变量。特别是,启动实验时,输出只是重复模型参数的100倍。 我还尝试在“使用这些报告器的测量运行”上编写代码count personals own,因为我在模型的代码上看到了这个personals own[talent success n-lucky-events n-unlucky-events],但我不确定它是什么,使用这个命令它会返回一个错误“END expected”

我使用的模型在模拟结束时返回一系列变量。我试图用行为空间对这组变量进行100次分析,但我无法得到一次模拟就能轻松找到的变量。特别是,启动实验时,输出只是重复模型参数的100倍。

我还尝试在“使用这些报告器的测量运行”上编写代码
count personals own
,因为我在模型的代码上看到了这个
personals own[talent success n-lucky-events n-unlucky-events]
,但我不确定它是什么,使用这个命令它会返回一个错误“END expected”


(1) 我试图得到这个模型中每个变量的所有值 在行为空间中奔跑。 (2) 我几乎设法得到了我需要的东西 写入“最终命令”导出世界“文件名”,但返回 只有一个世界,而不是行为空间中的10次跑步。怎么可能 每次跑步我都会得到export world戴维德·卡科扎12小时前

(1) 如果您只是列出您想要的变量,那么在行为空间实验部分“使用这些报告器测量运行”中,每行一个变量都应该被导出

(2) 我怀疑您正在将export world作为“最终命令”放在BehaviorSpace中,正如您所注意到的,它只在所有运行结束时运行一次

如果要在每次运行时导出所有内容,则需要作为实际代码部分的最后一步导出。为避免过度写入冲突,应使用唯一的名称。我在时间戳(至少是顺序的)方面遇到了问题,Windows不喜欢冒号(所以原始日期和时间已过期),所以这里有一个示例,仅使用随机数来获得唯一性(好吧,99.9999%的时间)


我查过了,它是有效的。

也许你的意思是
统计个人
,而不是
统计个人拥有的
?我不清楚你希望
count personals own
做什么。至于你问题的第一部分,我不知道你的问题是什么,我也不清楚你想做什么。我正在尝试获取该模型在行为空间中每次运行的所有变量值。我几乎成功地在“Final commands”
export world“file name”
中获得了所需的内容,但它只返回一个世界,而不是在行为空间中进行的10次运行。如何为每次运行获取
export world
?每次使用不同的文件名,可能需要在名称中包含
behaviorspace run number
。(或者,如果这不能解决问题,请打开一个新问题并解释。)导出世界是一个“最终解决方案”,因为它返回一个我可以在R中轻松使用的文件,而当我在“使用这些报告器的度量运行”中写入
个人列表[variable]时输出只是一长行无法使用的值,尤其是当实验的运行次数超过100次时。有没有办法让每行只有一个值,就像出口世界的产出一样?
    
globals [  x y z  ]
to setup
  clear-all   
  set state random 5
  reset-ticks
end
to go
  if ticks > 10 [ print ( word state " " x " " y " " z)  wrap stop]
  set x   state * ticks
  set y   x * x + random 3333
  set z   sqrt x + random 2222
  tick
end

to wrap  
   let cmd (word " export-world \"myfilenumber" random 8000 ".txt\"")
   run cmd
   print (word "exported world via : " cmd )
end