Индекс отрицательного / дополнения Юлии как R - PullRequest
0 голосов
/ 18 сентября 2018

Есть ли в Джулии функциональность, аналогичная отрицательной индексации R?В R код был бы похож на:

x = 1:10
inds = c(1, 5, 7)
x[-inds]

[1]  2  3  4  6  8  9 10

Я обнаружил, что это чрезвычайно полезно во многих ситуациях, особенно для таких вещей, как индексы выборки для создания набора для тестирования / обучения, но также и длясубиндексирование массива для исключения определенных строк.Поэтому я надеюсь, что в Юлии есть что-то простое, что может сделать то же самое.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Это похоже на ответ @Colin T Bower, а также использует только базовую Джулию.Боюсь, это не так элегантно, как ваш пример 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
0 голосов
/ 18 сентября 2018

Не является функцией базового языка, но посмотрите, например, пакет здесь: https://github.com/mbauman/InvertedIndices.jl

...