W R mam element x
i wektor v
. Chcę znaleźć pierwszy indeks elementu, v
który jest równy x
. Wiem, że jednym ze sposobów jest: which(x == v)[[1]]
ale wydaje się to nadmiernie nieefektywne. Czy istnieje bardziej bezpośredni sposób?
Czy w przypadku punktów bonusowych działa funkcja, która x
jest wektorem? Oznacza to, że powinien zwrócić wektor wskaźników wskazujących pozycję każdego elementu x
w v
.
which(x == v)[[1]]
nie jest.
which(x == v)[[1]]
nie jest tak bardzo nieefektywny. Jest to jeden==
operator porównania ( ) zastosowany do wszystkich elementów wektorowych i jeden podzbiór indeksów (which
). Otóż to. Nic, co nie powinno być istotne, dopóki nie uruchomisz 10.000 powtórzeń dla tej funkcji. Inne rozwiązania takie jakmatch
iPosition
mogą nie zwracać tylu danychwhich
, ale niekoniecznie są bardziej wydajne.