alpha = [1 2 3; 4 5 6]
alpha[:, 1] # Type is Array{Int64, 1}
alpha[:, 1:2] # Type is Array{In64, 2}
I just want to prevent the automatic type conversio
Instead of simply specifying the index (Int64
) of the desired column, specify a range (UnitRange{Int64}
) of length 1: 1:1
.
That will trick Julia into preserving the 2D-array type (Array{Int64,2}
) instead of returning a vector (Array{Int64,1}
).
Edit: the developers discussed this topic here (thanks to Colin for pointing me to it).
julia> alpha = [1 2 3; 4 5 6]
2x3 Array{Int64,2}:
1 2 3
4 5 6
julia> alpha[:,1] # nope
2-element Array{Int64,1}:
1
4
julia> alpha[:,1:1] # yep
2x1 Array{Int64,2}:
1
4