आर में एक वेक्टर में अलग-अलग मूल्यों की सूची बनाएं


97

मैं एक वेक्टर में अलग-अलग मूल्यों को कैसे सूचीबद्ध कर सकता हूं जहां मूल्य प्रतिकृति हैं? मेरा मतलब है, इसी तरह निम्नलिखित एसक्यूएल बयान के लिए:

SELECT DISTINCT product_code
FROM data

जवाबों:


168

क्या आपका मतलब है unique:

R> x = c(1,1,2,3,4,4,4)
R> x
[1] 1 1 2 3 4 4 4
R> unique(x)
[1] 1 2 3 4

12

यदि डेटा वास्तव में है factorतो आप levels()फ़ंक्शन का उपयोग कर सकते हैं , जैसे

levels( data$product_code )

यदि यह एक कारक नहीं है, लेकिन यह होना चाहिए, तो आप इसे factor()फ़ंक्शन का उपयोग करके पहले कारक में बदल सकते हैं , उदा

levels( factor( data$product_code ) )

एक अन्य विकल्प, जैसा कि ऊपर बताया गया है, unique()फ़ंक्शन है:

unique( data$product_code )

दोनों के बीच मुख्य अंतर (जब लागू होता है factor) यह है कि levelsस्तरों के क्रम में एक चरित्र वेक्टर वापस आ जाएगा, जिसमें कोई भी स्तर शामिल हैं जो कोडित हैं, लेकिन घटित नहीं होते हैं। uniqueएक वापस आ जाएगी factor, ताकि मूल्यों पहले प्रकट में किसी भी गैर होने वाली स्तरों लोप के साथ (हालांकि अभी भी में शामिल levelsलौटे कारक के)।


8

निषेध ऑपरेटर के साथ संयोजन में डुप्लिकेट किए गए फ़ंक्शन का उपयोग करने का प्रयास करें "!"।

उदाहरण:

wdups <- rep(1:5,5)
wodups <- wdups[which(!duplicated(wdups))]

उम्मीद है की वो मदद करदे।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.