मैं आधार करता हूं कि मैं आर के साथ नया हूं और वास्तव में मैं मूलभूत सिद्धांतों को प्राप्त करने की कोशिश कर रहा हूं। वर्तमान में मैं एक बड़े डेटाफ्रेम (जिसे "पीपीएल" कहा जाता है) पर काम कर रहा हूं जिसे मुझे कुछ पंक्तियों को फ़िल्टर करने के लिए संपादित करना है। प्रत्येक पंक्ति को एक समूह में शामिल किया गया है और यह एक तीव्रता (इन) मान और नमूना मान द्वारा विशेषता है।आर लूप के लिए अधिकतम फ़ंक्शन लागू करने में विफल रहता है
mz rt into sample tracker sn grp
100.0153 126 2.762664 3 11908 7.522655 0
100.0171 127 2.972048 2 5308 7.718521 0
100.0788 272 30.217969 2 5309 19.024807 1
100.0796 272 17.277916 3 11910 7.297716 1
101.0042 128 37.557324 3 11916 27.991320 2
101.0043 128 39.676014 2 5316 28.234918 2
अच्छा, पहला सवाल यह है: "मैं उच्चतम तीव्रता वाले नमूने से प्रत्येक समूह से कैसे चयन कर सकता हूं?" मैं पाश के लिए एक करने की कोशिश की:
for (i in ppl$grp) {
temp<-ppl[ppl$grp == i,]
sel<-rbind(sel,temp[max(temp$into),])
}
तथ्य यह है कि यह जीआरपी == 0 $ ppl के लिए काम करता है, लेकिन अगले चक्र NAS पंक्तियों को वापस। फिर फ़िल्टर किए गए डेटाफ्रेम (जिसे "सेल" कहा जाता है) को भी हटाए गए पंक्तियों के नमूना मानों को स्टोर करना चाहिए। यह इस प्रकार है के रूप में किया जाना चाहिए:
mz rt into sample tracker sn grp
100.0171 127 2.972048 c(2,3) 5308 7.718521 0
100.0788 272 30.217969 c(2,3) 5309 19.024807 1
101.0043 128 39.676014 c(2,3) 5316 28.234918 2
आदेश में इस मैं इस दृष्टिकोण का प्रयोग करेंगे प्राप्त करने के लिए:
lev<-factor(ppl$grp)
samp<-ppl$sample
samp2<-split(samp,lev)
sel$sample<-samp2
किसी भी संकेत? क्योंकि मैं इसका परीक्षण नहीं कर सकता क्योंकि मैंने अभी भी पिछली समस्या का समाधान नहीं किया है।
बहुत बहुत धन्यवाद।