Я пытаюсь определить, есть ли в MATLAB или R функция, похожая на следующую.
Скажем, у меня есть входной вектор v
.
v = [1, 3, 1, 2, 4, 2, 1, 3]
Я хочу создать вектор w
длины, эквивалентной v
. Каждый элемент w[i]
должен сообщать мне следующее: для соответствующего значения v[i]
, сколько раз это значение встречалось до сих пор в v
, то есть во всех элементах v
до позиции i
, но не включая ее. В этом примере
w = [0, 0, 1, 0, 0, 1, 2, 1]
Я действительно ищу, есть ли у каких-либо статистических или предметно-ориентированных языков подобная функция / инструкция и как она может называться.
dplyr
следующим образом:library(dplyr); data.frame(v) %>% group_by(v) %>% mutate(count = row_number()-1)
(результатом будет data.frame, но вы можете легко извлечь столбец count, если он вам нужен отдельно). - person talat   schedule 20.08.2014