У R у мене є елемент x
і вектор v
. Я хочу знайти перший індекс елемента, v
який дорівнює x
. Я знаю, що один із способів зробити це:, which(x == v)[[1]]
але це здається надмірно неефективним. Чи є більш прямий спосіб це зробити?
Чи існує бонусна очка функція, яка працює, якщо x
це вектор? Тобто він повинен повертати вектор індексів, що вказують положення кожного елемента x
в v
.
which(x == v)[[1]]
не є.
which(x == v)[[1]]
це не так вже й неефективно. Це один==
оператор порівняння ( ), застосований до всіх векторних елементів та одне підмножина на індекси (which
). Це воно. Нічого, що не повинно бути актуальним, якщо ви не виконаєте 10 000 повторень на цій функції. Інші рішення люблятьmatch
іPosition
можуть не повертати стільки данихwhich
, але вони не обов'язково більш ефективні.