पर मैपिंग कारक मेरे पास दो डेटा सेटों पर प्रसारित डेटा नमूना है। loc
भौगोलिक स्थिति का वर्णन करता है, spe
में पाए गए प्रजातियां हैं। Unfortunally, नमूने स्टेशनों दो कारकों (cruise
और station
) द्वारा वर्णित हैं, तो मैं दोनों डेटा के लिए एकमात्र पहचान का निर्माण करने की आवश्यकता सेटडेटा फ्रेम
>loc
cruise station lon lat
1 TY1 A1 53.8073 6.7836
2 TY1 3 53.7757 6.7009
3 AZ7 A1 53.7764 6.6758
और
>spe
cruise station species abundance
1 TY1 A1 Ensis ensis 100
2 TY1 A1 Magelona 5
3 TY1 A1 Nemertea 17
4 TY1 3 Magelona 8
5 TY1 3 Ophelia 1200
6 AZ7 A1 Ophelia 950
7 AZ7 A1 Ensis ensis 89
8 AZ7 A1 Spio 1
मैं क्या जरूरत है एक अद्वितीय को जोड़ने के लिए है के रूप में ऐसी
cruise station species abundance ID
1 TY1 A1 Ensis ensis 100 STA0001
2 TY1 A1 Magelona 5 STA0001
3 TY1 A1 Nemertea 17 STA0001
4 TY1 3 Magelona 8 STA0002
5 TY1 3 Ophelia 1200 STA0002
6 AZ7 A1 Ophelia 950 STA0003
7 AZ7 A1 Ensis ensis 89 STA0003
8 AZ7 A1 Spio 1 STA0003
पहचानकर्ता ID
यहाँ डेटा है
loc<-data.frame(cruise=c("TY1","TY1","AZ7"),station=c("A1",3,"A1"),lon=c(53.8073, 53.7757, 53.7764),lat=c(6.7836, 6.7009, 6.6758))
spe<-data.frame(cruise=c(rep("TY1",5),rep("AZ7",3)),station=c(rep("A1",3),rep(3,2),rep("A1",3)),species=c("Ensis ensis", "Magelona", "Nemertea", "Magelona", "Ophelia", "Ophelia","Ensis ensis", "Spio"),abundance=c(100,5,17,8,1200,950,89,1))
फिर, मैं ID
के लिए loc
loc$ID<-paste("STA",formatC(1:nrow(loc),width=4,format="d",flag="0"),sep="")
निर्माण लेकिन मैं spe
करने के लिए ID
कैसे मैप करते हैं?
जिस तरह से मैंने पाया है कि दो नेस्टेड लूप मेरे जैसे प्रक्रियात्मक प्रोग्रामर के लिए काफी सुन्दर हैं (अगर नेस्टेड लूप को बिल्कुल सुन्दर कहा जा सकता है)। मुझे पूरा यकीन है कि आर में दो-लाइनर अधिक कुशल और तेज काम करेंगे, लेकिन मैं इसे समझ नहीं सकता। मैं वास्तव में अपने कोड में और अधिक सुंदरता चाहता हूं, यह इतना अन-आर है।
+1 स्टैक ओवरव्लो में आपका स्वागत है। मेरी इच्छा है कि सभी नए प्रश्न इस तरह स्पष्ट हों, नमूना डेटा, अपेक्षित परिणाम और कार्य कोड के साथ! – Andrie