2014-07-07 2 views
1

netlogo에서 숫자 및 문자열 목록의 평균을 계산하는 데 문제가 있습니다. 사용자 매뉴얼에 의하면 mean은 숫자가 아닌 값을 무시하면서 평균을 취합니다. 그러나 목록에 숫자가 아닌 값이있을 경우 오류가 발생합니다. 내 목록에서 문자열을 제거 할 수 있지만 목록 내용을 설명하는 문자열 인 처음 두 값이있는 10 개의 목록이 있으므로 지루할 것입니다. 문자열을 제거하기 위해 두 번째 but 명령을 두 번 사용할 계획입니다.문자열의 의미 NetLogo의 오류

오류가 구체적으로 말합니다 : "번호가 아닌 목록의 평균을 찾을 수 없습니다 : 도보 거리는 문자열입니다."

이 평균을 계산하는 다른 방법이있어서 매뉴얼에서 읽은 것처럼 문자열이 무시됩니다. 아니면 매뉴얼을 오해하고 있습니까? 당신이 그것을 필요로하는 경우에

샘플 코드 :

output-type "Avg Walking Distance Uninformed (orange) " output-print mean OrangeWalk 
output-type "Avg Cruise Distance Uninformed (orange) " output-print mean OrangeCruise 
+0

의사와 행동 사이에 –

+0

도움을 주셔서 감사합니다! 감사합니다! – Kory

답변

1

당신은 is-number?를 사용하여 필터링 할 수 있습니다. 예 : mean filter [is-number? ?] [1 "22" 3] 또는 단지 mean filter is-number? [1 "22" 3]

아, 난 그냥 filter의 문서를 보면서이 암시가 첫 번째 예에서 제안 : 나는 불일치에 https://github.com/NetLogo/NetLogo/issues/637을 열어 http://ccl.northwestern.edu/netlogo/docs/dictionary.html#filter