मेरे पास 130,20 9 पंक्तियों में से data.frame
है।मैं पंक्ति के आधार पर डेटाफ्रेम को पंक्ति के रूप में कैसे विभाजित करता हूं, एक फ़ंक्शन लागू करता हूं और गठबंधन करता हूं?
> head(dt)
mLow1 mHigh1 mLow2 mHigh2 meanLow meanHigh fc mean
A_00001 37.00 12.75 99.25 78.50 68.125 45.625 1.4931507 56.8750
A_00002 31.00 21.50 84.75 53.00 57.875 37.250 1.5536913 47.5625
A_00003 72.50 26.50 81.75 74.75 77.125 50.625 1.5234568 63.8750
मैं 12 में data.frame
विभाजित है, स्तंभ fc
पर scale
समारोह लागू करते हैं और फिर इसे संयोजित करना चाहते हैं। यहां कोई समूहीकरण चर नहीं है, अन्यथा मैंने ddply
का उपयोग किया होगा। इसके अलावा, क्योंकि 130,20 9 12 तक पूरी तरह से विभाजित नहीं है, परिणामी data.frames
असंतुलित होगा, यानी, 11 data.frame
के पास 10,851 पंक्तियां होंगी और आखिरी में 10,848 पंक्तियां होंगी, लेकिन यह ठीक है।
तो मैं data.frame
को एन के भाग में इस पंक्ति में कैसे विभाजित करूं (इस मामले में 12), एक फ़ंक्शन लागू करें और फिर उन्हें एक साथ जोड़ दें? किसी भी मदद की सराहना की जाएगी।
अद्यतन: दो शीर्ष समाधान का उपयोग करना, मैं अलग परिणाम प्राप्त: @Ben Bolker के समाधान का उपयोग करना,
mLow1 mHigh1 mLow2 mHigh2 UID gene_id meanLow meanHigh mean fc
1.5 3.25 1 1.25 MGLibB_00021 0610010K14Rik 1.25 2.25 1.75 -0.5231249
1.5 3.25 1 1.25 MGLibA_00034 0610037L13Rik 1.25 2.25 1.75 -0.5231249
1.5 3.25 1 1.25 MGLibB_00058 1100001G20Rik 1.25 2.25 1.75 -0.5231249
1.5 3.25 1 1.25 MGLibA_00061 1110001A16Rik 1.25 2.25 1.75 -0.5231249
1.5 3.25 1 1.25 MGLibA_00104 1110034G24Rik 1.25 2.25 1.75 -0.5231249
1.5 3.25 1 1.25 MGLibA_00110 1110038F14Rik 1.25 2.25 1.75 -0.5231249
@ MichaelChirico के जवाब का उपयोग करना:
mLow1 mHigh1 mLow2 mHigh2 UID gene_id meanLow meanHigh mean fc fc_scaled
1.5 3.25 1 1.25 MGLibB_00021 0610010K14Rik 1.25 2.25 1.75 0.5555556 -0.5089608
1.5 3.25 1 1.25 MGLibA_00034 0610037L13Rik 1.25 2.25 1.75 0.5555556 -0.5089608
1.5 3.25 1 1.25 MGLibB_00058 1100001G20Rik 1.25 2.25 1.75 0.5555556 -0.5089608
1.5 3.25 1 1.25 MGLibA_00061 1110001A16Rik 1.25 2.25 1.75 0.5555556 -0.5089608
1.5 3.25 1 1.25 MGLibA_00104 1110034G24Rik 1.25 2.25 1.75 0.5555556 -0.5089608
1.5 3.25 1 1.25 MGLibA_00110 1110038F14Rik 1.25 2.25 1.75 0.5555556 -0.5089608
इस पंक्ति की संख्या बड़ी नहीं है। आप अलग-अलग पैमाने पर संचालन क्यों करना चाहते हैं और एफसी कॉलम को सीधे स्केल करने के बजाय परिणामों को गठबंधन करना चाहते हैं ?? –
मैं प्रचुर मात्रा में (माध्य) के लिए एफसी (गुना परिवर्तन) को नियंत्रित करना चाहता हूं। डेटा को मेरे वास्तविक डेटाफ्रेम में सॉर्ट किया गया है। मैं सामान्य बहुतायत के अलग-अलग हिस्सों के लिए अलग-अलग ज़्सकोर की गणना करना चाहता हूं (वास्तव में कम, निम्न ... मेड ... उच्च ... बहुत अधिक) –
'कट (1: nrow (dt), 12) 'का उपयोग क्यों न करें विभाजित करें? –