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)
但它返回一个过滤元素的向量。这背后的逻辑是什么?我该如何解决我的问题?