Как определить положение строкового элемента, хранящегося в одном столбце в векторе, хранящемся в другом столбце таблицы? - PullRequest
1 голос
/ 03 июня 2019

У меня есть столбик с двумя столбцами с именами ID и VEC.
ID хранит определенную строку, тогда как VEC хранит вектор, включая строку, которая хранится в столбце ID.

Я хотел бы определить положение строки в идентификаторе в векторе, сохраненном в VEC для каждой конкретной строки.

Обычно, когда я просто ищу строку в любом векторе, я бы поступил так:

which (ID == VEC) - который вернул бы позицию.

Однако всякий раз, когда пытается сделать это с помощью mutate, R возвращает ошибку.

df <- structure(list(ID = 1:7, VEC = list(1:7, 1:7, 1:7, 1:7, 1:7, 
    1:7, 1:7)), row.names = c(NA, -7L), class = c("tbl_df", "tbl", 
"data.frame"))

df %>%
  mutate(POS = which(ID == VEC))

Я хотел бы добавить новый столбец с позицией STRING в идентификаторе на основе вектора, который хранится в VEC.

К сожалению, я получаю эту ошибку: Ошибка в mutate_impl (.data, точки): Ошибка оценки: (список) объект не может быть приведен к типу 'integer'.

Есть ли способ сделать это с помощью mutate?

...