मैं 2 कॉलमों के आधार पर डुप्लिकेट पंक्तियों को पहचानना और चिन्हित करना चाहूंगा। मैं प्रत्येक डुप्लिकेट के लिए एक विशिष्ट पहचानकर्ता बनाना चाहूंगा ताकि मुझे पता न चले कि पंक्ति एक डुप्लिकेट है, लेकिन यह किस पंक्ति के साथ डुप्लिकेट है। मेरे पास एक डेटाफ्रेम है जो नीचे कुछ डुप्लिकेट आइटम जोड़े (फिट और बैठें) और अन्य जोड़े के साथ दिखता है जो डुप्लिकेट नहीं हैं। जबकि आइटम जोड़े डुप्लिकेट हैं, उनके पास मौजूद जानकारी अद्वितीय है (उदाहरण के लिए, 1 पंक्ति में मान 1 में एक मान होगा, लेकिन मान 2 और मान 3 नहीं, दूसरी या 'डुप्लिकेट' पंक्ति में मान 2 और मान 3 के लिए संख्याएँ होंगी नहीं 1)
वर्तमान डेटाफ़्रेम
value1 value2 value3 fit sit
[1,] "1" NA NA "it1" "it2"
[2,] NA "3" "2" "it2" "it1"
[3,] "2" "3" "4" "it3" "it4"
[4,] NA NA NA "it4" "it3"
[5,] "5" NA NA "it5" "it6"
[6,] NA NA "2" "it6" "it5"
[7,] NA "4" NA "it7" "it9"
कोड उदाहरण डेटाफ्रेम उत्पन्न करने के लिए
value1<-c(1,NA,2,NA,5,NA,NA)
value2<-c(NA,3,3,NA,NA,NA, 4)
value3<-c(NA,2,4,NA,NA,2, NA)
fit<-c("it1","it2","it3","it4", "it5", "it6","it7")
sit<-c("it2","it1","it4","it3", "it6", "it5", "it9")
df.now<-cbind(value1,value2,value3, fit, sit)
मैं जो चाहता हूं, उसे इस तरह दिखने वाली डेटाफ़्रेम में बदलना है:
वांछित डेटाफ़्रेम
val1 val2 val3 it1 it2
[1,] "1" "3" "2" "it1" "it2"
[2,] "2" "3" "4" "it3" "it4"
[3,] "5" NA "2" "it5" "it6"
[4,] NA "4" NA "it7" "it9"
मैं निम्नलिखित चरणों को करने के बारे में सोच रहा था: 1. डुप्लिकेट जोड़े की पहचान करने के लिए सबसे कम आइटम और उच्चतम वस्तुओं के साथ बैठकर नए वेरिएबल्स बनाएं और डुप्लिकेट आइटम जोड़े की पहचान करें 3. अनूठे जानकारी का चयन करने और भरने के लिए ifelse का उपयोग करें।
मुझे पता है कि चरण 1 और 3 कैसे करना है, लेकिन मैं चरण 2 में फंस गया हूं। मुझे लगता है कि मुझे जो करने की आवश्यकता है वह सिर्फ TRUE / FALSE डुप्लिकेट की पहचान नहीं है, लेकिन शायद इस तरह प्रत्येक आइटम जोड़ी के लिए एक अद्वितीय पहचानकर्ता के साथ एक कॉलम है (वहां मेरे चरण 1 के कारण 2 अतिरिक्त पंक्तियाँ हैं):
value1 value2 value3 fit sit lit hit dup
[1,] "1" NA NA "it1" "it2" "it1" "it2" 1
[2,] NA "3" "2" "it2" "it1" "it1" "it2" 1
[3,] "2" "3" "4" "it3" "it4" "it3" "it4" 2
[4,] NA NA NA "it4" "it3" "it3" "it4" 2
[5,] "5" NA NA "it5" "it6" "it5" "it6" 3
[6,] NA NA "2" "it6" "it5" "it5" "it6" 3
[7,] NA "4" NA "it7" "it9" "it7" "it9" NA
मुझे यकीन नहीं है कि यह कैसे करना है।
जो मैं पूछ रहा हूं वह या तो चरण 2 के साथ मदद करता है या शायद मेरे द्वारा बताए गए चरणों की तुलना में इसे हल करने का एक बेहतर तरीका है।