मेरे पास निम्न प्रारूप का एक डेटा फ्रेम है।
लेखक वर्ष चरण 1 ए 1150 1 2 बी 1200 1 3 सी 1200 1 4 डी 1300 1 5 डी 1300 1 6 ई 1390 3 7 एफ 1392 3 8 जी 1400 3 9 जी 1400 3 ...
मैं चाहता हूं हर साल घबराहट और एक छोटी राशि से लेखक संयोजन। मैं एक ही वर्ष के विभिन्न लेखकों द्वारा दस्तावेजों को अद्वितीय मूल्यों से मिलना चाहता हूं। उदाहरण के लिए, लेखक बी और सी के टोकन उसी वर्ष में दिखाई देते हैं, लेकिन उन्हें अलग-अलग मात्रा में मिलना चाहिए। एक ही लेखक के सभी टोकन, उदाहरण के लिए, लेखक जी के 1400 के दो टोकनों को एक ही राशि से मिलना चाहिए।
मैंने निम्नलिखित की कोशिश की है, लेकिन प्रत्येक पंक्ति के लिए एक अद्वितीय झटकेदार राशि प्राप्त करें ।
डेटा% & gt;% group_by (लेखक)% & gt;% mutate (वर्ष = घबराना (वर्ष, राशि = .5))
इस कोड का उत्पादन निम्न है।
लेखक वर्ष चरण 1 ए 1150.400 1 2 बी 1200.189 1 3 सी 1200.222 1 4 डी 1300.263 1 5 डी 12 99 788 1 6 ई 1390.045 3 7 एफ 13 9 1 9 64 3 8 जी 1399.982 3 9 जी 1399.783 3 हालांकि, मैं निम्नलिखित को चाहूंगा, जहां लेखक जी के दोनों टोकनों को उसी राशि से स्थानांतरित किया जाना चाहिए। महत्वपूर्ण अंतर यह है कि लेखक जी सभी टोकन को एक ही राशि से स्थानांतरित कर दिया जाता है। लेखक वर्ष चरण 1 ए 1150.400 1 2 बी 1200.189 1 3 सी 1200.222 1 4 डी 1300.263 1 5 डी 12 99 788 1 1 6 ई 1390.045 3 7 एफ 13 9 1 9 64 3 8 जी 13 99.982 3 9 जी 1399.982 3
गणना करें एक मामले के लिए घबराना और सभी मामलों में अंतर जोड़ना:
dat% & gt;% group_by (लेखक)% & gt;% mutate (वर्ष = वर्ष + (वर्ष [1] - घबराना ( वर्ष [1], राशि = .5))) # लेखक वर्ष चरण # 1 ए 1149.720 1 # 2 बी 1200.385 1 # 3 सी 11 99.888 1 # 4 डी 12 99.589 1 # 5 डी 12 99.589 1 # 6 ई 1389.866 3 # 7 एफ 1392.225 3 # 8 जी 1400.147 3 # 9 जी 1400.147 3
No comments:
Post a Comment