Julia中是否有与R的负索引相似的功能?在R中,代码类似于:
x = 1:10
inds = c(1, 5, 7)
x[-inds]
[1] 2 3 4 6 8 9 10
我发现这在很多情况下都非常有用,尤其是对于诸如创建一个测试/训练集的采样索引之类的事情,还可以对数组进行子索引以排除某些行。所以我希望Julia中有一些简单的事情可以做到这一点。
答案 0 :(得分:3)
这不是基本语言的功能,但例如,请参见以下软件包:https://github.com/mbauman/InvertedIndices.jl
答案 1 :(得分:2)
这类似于@Colin T Bower的答案,并且仅使用基本Julia。害怕它不如您的R示例优雅。
julia> minus(indx, x) = setdiff(1:length(x), indx)
minus (generic function with 1 method)
julia> x = collect(1:10)
10-element Array{Int64,1}:
1
2
3
4
5
6
7
8
9
10
julia> inds = [1, 5, 7]
3-element Array{Int64,1}:
1
5
7
julia> x[minus(inds, x)]
7-element Array{Int64,1}:
2
3
4
6
8
9
10