嵌套列表的平均值

时间:2016-06-14 12:30:45

标签: netlogo

我正在尝试计算嵌套列表的平均值。我已经尝试使用map函数,但是默认值给出了我感兴趣的相反维度的均值。请参阅下面的示例:

set a [[1 1][2 2][3 3]] ; create a nested list
set b map mean a        ; b equals [1 2 3]

这个答案给出了[1 2 3] b。但是,我对答案[2 2]感兴趣,取其中“其他”维度的均值。我想有一种方法可以用map做到这一点,但还没弄明白。

2 个答案:

答案 0 :(得分:2)

to go
  print column-means [
    [ 1 1 ]
    [ 2 2 ]
    [ 3 3 ]
  ]
end

to-report column-means [ matrix ]
  if length (remove-duplicates map length matrix) > 1 [
    error "All rows must be the same length"
  ]  
  report n-values length first matrix [ mean extract ? matrix ]
end

to-report extract [ i row ]
  report map [ item i ? ] row
end

答案 1 :(得分:-1)

可能的解决方案如下

set a [[1 2 3] [1 2 3]]
set b map mean a

这将为您提供[2 2] b。