Select 在Julia中选择矩阵的列/行

Select 在Julia中选择矩阵的列/行,select,matrix,julia,Select,Matrix,Julia,这是一个非常基本的问题,但我没有找到任何提示。假设我有一个2x4矩阵,我想把矩阵的维数减少到只有这些列的和大于1: A=rand(2,4) ind = sum(A,1).>1 这给了我一个我想要保留的列的指示器。人们天真地认为我可以做到: A[:,ind] 它不工作,因为ind是一个位数组,并且只允许对Bool数组进行此操作,即以下操作 A[:,[true,true,false,true]] 作为回报,以下措施确实有效: A[A.>0.5] 但它返回一个过滤元素的向量。 这背

这是一个非常基本的问题,但我没有找到任何提示。假设我有一个2x4矩阵,我想把矩阵的维数减少到只有这些列的和大于1:

A=rand(2,4)
ind = sum(A,1).>1
这给了我一个我想要保留的列的指示器。人们天真地认为我可以做到:

A[:,ind]
它不工作,因为ind是一个位数组,并且只允许对Bool数组进行此操作,即以下操作

A[:,[true,true,false,true]]
作为回报,以下措施确实有效:

A[A.>0.5]
但它返回一个过滤元素的向量。
这背后的逻辑是什么?我该如何解决我的问题?

如评论中所述,这是通过使用Julia版本>=v0.4来解决的。

我发现我通过
a[:,find(ind)]
得到了正确的矩阵,但我不清楚为什么必须这样做。我假设你使用的是Julia 0.3?这在Julia 0.4.5(最新版本)中有效。正确。好的,这已经“修复”了。谢谢你!