Trong R, tôi có một phần tử x
và một vectơ v
. Tôi muốn tìm chỉ số đầu tiên của một yếu tố trong v
đó bằng x
. Tôi biết rằng một cách để làm điều này là : which(x == v)[[1]]
, nhưng điều đó dường như quá kém hiệu quả. Có cách nào trực tiếp hơn để làm điều đó?
Đối với điểm thưởng, có một chức năng hoạt động nếu x
là một vectơ? Đó là, nó sẽ trả về một vectơ chỉ số cho biết vị trí của từng phần tử củax
trong v
.
which(x == v)[[1]]
không.
which(x == v)[[1]]
nên không hiệu quả lắm. Đó là một==
toán tử so sánh ( ) được áp dụng cho tất cả các phần tử vectơ và một phần tử con trên các chỉ mục (which
). Đó là nó. Không có gì có liên quan, miễn là bạn không chạy 10.000 lần lặp lại cho chức năng này. Các giải pháp khác thíchmatch
vàPosition
có thể không trả về nhiều dữ liệu như vậywhich
, nhưng chúng không nhất thiết phải hiệu quả hơn.