मेरा प्रश्न यह question पर आधारित है डुप्लिकेट।आर: को आबाद करने और/या अन्य स्तंभों पर आधारित पंक्तियों
मैं नीचे के रूप में एक डेटा की है। मैं पहले देखकर कोशिकाओं को भरना चाहता हूं और फिर जब तक बम समान होता है तब तक देखकर। बम = ए के मामले में, मैं दिखाए गए पंक्तियों को भरना चाहता हूं। लेकिन bom = बी के मामले में, के रूप में type_p स्तंभ अलग है, मैं पंक्तियों नकल और रिक्त स्थान
bom=c(rep("A",4),rep("B",3))
Part=c("","lambda","beta","","tim","tom","")
type_p=c("","sub","sub","","sub","pan","")
ww=c(1,2,3,4,1,2,3)
df=data.frame(bom,Part,type_p,ww)
> df
bom Part type_p ww
1 A 1
2 A lambda sub 2
3 A beta sub 3
4 A 4
5 B tim sub 1
6 B tom pan 2
7 B 3
अंतिम डेटा है कि मैं चाहता हूँ
bom Part type_p ww
1 A lambda sub 1
2 A lambda sub 2
3 A beta sub 3
4 A beta sub 4
5 B tim sub 1
6 B tim sub 2
7 B tim sub 3
5 B tom pan 1
6 B tom pan 2
7 B tom pan 3
________________________________________Update 1
नीचे के रूप में है महसूस करना चाहते हैंतर्क यह है कि मैं चाहता हूँ के रूप में नीचे है। कृपया याद रखें कि मेरा डेटा बहुत बड़ा है और मेरे पास प्रत्येक कॉलम में हजारों मान हैं।
bom और ww कॉलम हमेशा भर जाती है/आने वाले डेटा में भर
- चेक स्तंभ bom में एक प्रविष्टि type_p
- स्तंभ में 1 से अधिक मूल्य नहीं है, तो यदि वहाँ केवल 1 मूल्य तो रिक्त स्थान को भरने टाइप_पी और डब्ल्यूडब्लू कॉलम में पहले देखकर और फिर देखकर। इस मामले bom में = एक (उप)
- type_p में केवल एक ही मूल्य है स्तंभ bom में एक प्रविष्टि तो उस bom का एक ही पंक्तियों की अतिरिक्त सेट ऐसा है कि कुल सेट हो जाएगा बनाने type_p स्तंभ में 1 से अधिक अद्वितीय मान है, तो उस बम के लिए type_p कॉलम में विशिष्ट मानों के बराबर। इस मामले में bom = बी (उप और पैन) पहले नीचे की तलाश में है और फिर ऊपर देखकर भी type_p और ww स्तंभों में
- भरण कारतूस type_p में दो मान होते हैं (स्रोत पंक्ति पर देखने के मूल्यों को भरने के लिए)
================================================ =========== अद्यतन 2
चरण 3 के बाद, डेटा फ्रेम की तरह नीचे
> df
bom Part type_p ww
1 A lambda sub 1
2 A lambda sub 2
3 A beta sub 3
4 A beta sub 4
5 B tim sub 1
6 B 2
7 B 3
8 B 1
9 B tom pan 2
10 B 3
यह एक बहुत ही है हल करने योग्य समस्या, हालांकि आपका उदाहरण आपके तर्क का पालन नहीं करता है - आपको विशेष रूप से चरण 3 के आस-पास बहुत स्पष्ट होना चाहिए, और डुप्लीकेट मामले में पंक्तियां कैसे भरती हैं या नीचे होती हैं। मैं अपने उदाहरण के रूप में अच्छी तरह से मध्यवर्ती डेटा फ्रेम दिखा सुझाव है (यह भी मदद कर सकता है आप अपने सिर में समस्या के माध्यम से काम करते हैं) – Chris
मुझे लगता है मैं क्या सोचा Thats अद्यतन 2. – user2543622
जोड़ा - तो ऐसा लगता है यह नीचे अपने को भरने सिद्धांत का उल्लंघन करता है। पंक्ति 8 को 'समय उप' नहीं होना चाहिए? – Chris