我在计算网络标识中数字和字符串列表的平均值时遇到了问题。用户手册声明,这意味着取一个列表的平均值,而忽略非数字值,但当我的列表中有一个非数字值时,它就会出错。我可以从我的列表中删除字符串,但是这会很乏味,因为我有10个列表,前两个值是描述列表内容的字符串(我计划两次使用但- first命令来删除这些字符串)。
错误明确指出:“无法找到包含非数字的列表的平均值:步行距离是一个字符串。”
是否有不同的方法来计算这个平均值,使字符串被忽略,就像我认为它在手册中所读的那样?还是我误解了手册?
示例代码(如果需要的话):
output-type "Avg Walking Distance Uninformed (orange) " output-print mean OrangeWalk
output-type "Avg Cruise Distance Uninformed (orange) " output-print mean OrangeCruise发布于 2014-07-07 22:06:10
您可以使用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
https://stackoverflow.com/questions/24619891
复制相似问题