आर में, मेरे पास एक तत्व 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
, लेकिन वे जरूरी अधिक कुशल नहीं हैं।