如何对具有预定组大小的组进行排序?
How do I sort a group with predetermined group sizes?
我目前正在研究样本池方法,现在,我一直在研究如何按预定大小对组进行排序。
到目前为止,我能够
1) 列出所需的小组人数,然后
2) 使用 "one-of" 组大小对组进行排序
,写法如下:
`to assign-by-size
ask hardticks [ set my-group -1]
let unassigned hardticks
let current 0
let groupsize (list 4 9 13 20 20)
while [any? unassigned]
[ask n-of (min (list one-of groupsize (count unassigned))) unassigned
[set my-group current]
set current current + 1
set unassigned unassigned with [my-group = -1]
]
end`
但是,由于one-of只允许你在组内选择一个随机数,它并没有像我希望的那样执行,即按照列表的顺序对组进行排序,或者至少使用all列表中预定组大小的一次。
我应该使用哪个函数或代码来让它按我想要的方式工作?
我认为这样的事情可能会奏效。我可能有语法错误。这个想法是
首先使用您已有的 "counter" 索引从 groupsize 列表中拉出下一个项目,然后当它用完时,返回到您的旧测试。
顺便说一下,我对你使用 "sort" 这个词感到很困惑,因为我是美国人,对我来说 "sort" 意味着放入一个序列,但我怀疑你的意思是英国俚语,意思是 "populate a group."
while [any? unassigned]
[
if-else current < length groupsize [
ask n-of (min (list (item current groupsize) (count unassigned))) unassigned
[set my-group current]
]
[
ask n-of (min (list one-of groupsize (count unassigned))) unassigned
[set my-group current]
]
set current current + 1
set unassigned unassigned with [my-group = -1]
]
我目前正在研究样本池方法,现在,我一直在研究如何按预定大小对组进行排序。
到目前为止,我能够
1) 列出所需的小组人数,然后
2) 使用 "one-of" 组大小对组进行排序 ,写法如下:
`to assign-by-size
ask hardticks [ set my-group -1]
let unassigned hardticks
let current 0
let groupsize (list 4 9 13 20 20)
while [any? unassigned]
[ask n-of (min (list one-of groupsize (count unassigned))) unassigned
[set my-group current]
set current current + 1
set unassigned unassigned with [my-group = -1]
]
end`
但是,由于one-of只允许你在组内选择一个随机数,它并没有像我希望的那样执行,即按照列表的顺序对组进行排序,或者至少使用all列表中预定组大小的一次。
我应该使用哪个函数或代码来让它按我想要的方式工作?
我认为这样的事情可能会奏效。我可能有语法错误。这个想法是 首先使用您已有的 "counter" 索引从 groupsize 列表中拉出下一个项目,然后当它用完时,返回到您的旧测试。
顺便说一下,我对你使用 "sort" 这个词感到很困惑,因为我是美国人,对我来说 "sort" 意味着放入一个序列,但我怀疑你的意思是英国俚语,意思是 "populate a group."
while [any? unassigned]
[
if-else current < length groupsize [
ask n-of (min (list (item current groupsize) (count unassigned))) unassigned
[set my-group current]
]
[
ask n-of (min (list one-of groupsize (count unassigned))) unassigned
[set my-group current]
]
set current current + 1
set unassigned unassigned with [my-group = -1]
]