我在计算netlogo中数字和字符串列表的平均值时遇到问题。用户手册指出平均值取值列表的平均值而忽略非数字值,但是当列表中存在非数字值时,它会出错。我可以从我的列表中删除字符串,但这将是乏味的,因为我有10个列表,前两个值是描述列表内容的字符串(我打算使用but-first命令两次去掉字符串)。
该错误明确指出:"无法找到包含非数字的列表的平均值:步行距离是一个字符串。"
有没有不同的方法来计算这个平均值,以便忽略字符串,就像我认为它在手册中读到的一样?或者我误解了手册?
如果需要,请提供示例代码:
output-type "Avg Walking Distance Uninformed (orange) " output-print mean OrangeWalk
output-type "Avg Cruise Distance Uninformed (orange) " output-print mean OrangeCruise
答案 0 :(得分:1)
您可以使用is-number?
进行过滤。例如,mean filter [is-number? ?] [1 "22" 3]
或仅mean filter is-number? [1 "22" 3]
。
啊,我只是查看了filter
的文档,这是第一个例子隐含的建议:
http://ccl.northwestern.edu/netlogo/docs/dictionary.html#filter