在 Julia 中选择矩阵的列/行

Sib*_*lse 5 select matrix julia

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

A=rand(2,4)
ind = sum(A,1).>1
Run Code Online (Sandbox Code Playgroud)

这为我提供了我想要保留的列的指示符。天真的人们会认为我可以做到这一点:

A[:,ind]
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为 ind 是 BitArray 并且仅对于 Bool 数组这是允许的,即以下工作

A[:,[true,true,false,true]]
Run Code Online (Sandbox Code Playgroud)

作为回报,以下内容确实有效:

A[A.>0.5]
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*kas 1

正如评论中所指出的,这个问题可以通过使用 >=v0.4 的 Julia 版本来解决。