R में DataFrame को कैसे स्थानांतरित करें

R Mem Dataframe Ko Kaise Sthanantarita Karem



डेटासेट ट्रांसपोज़ करना एक ऐसा ऑपरेशन है जो विश्लेषण की विशेष आवश्यकताओं को पूरा करने के लिए डेटा में सुधार करता है। डेटासेट को ट्रांसपोज़ करने में डेटासेट की उलटी पंक्तियाँ और कॉलम शामिल होते हैं, जिसके परिणामस्वरूप स्विच किए गए कॉलम और पंक्तियों के साथ एक नया डेटासेट होता है। डेटासेट को स्थानांतरित करने के लिए R कुछ फ़ंक्शन प्रदान करता है। इस लेख में, हम R में DataFrames के लिए विभिन्न ट्रांसपोज़िंग विधियों को कवर करेंगे।

उदाहरण 1: R में T() फ़ंक्शन का उपयोग करके डेटाफ़्रेम को स्थानांतरित करें

t() फ़ंक्शन R का एक इन-बिल्ट फ़ंक्शन है जिसका उपयोग डेटाफ़्रेम को स्थानांतरित करने के लिए किया जाता है। हालाँकि, यह DataFrame को एक मैट्रिक्स में बदल देता है, इसलिए कोई भी गैर-संख्यात्मक कॉलम वर्ण स्ट्रिंग्स में बदल जाता है। DataFrame को स्थानांतरित करने के लिए निम्नलिखित R स्क्रिप्ट पर विचार करें:







MyData = data.frame (c1 = c (1, 2, 3, 4, 5),

सी2 = सी(6, 7, 8, 9, 10),
c3 = c(11, 12, 13, 14, 15))

row.names(MyData) = c('r1', 'r2', 'r3', 'r4', 'r5')

टी (माईडाटा)

यहां, हम MyData वेक्टर की घोषणा करते हैं और इसे data.frame() असाइन करते हैं। हम नमूना डेटा सम्मिलित करते हैं जिसमें डेटा.फ्रेम () फ़ंक्शन के मानों के साथ तीन कॉलम होते हैं। उसके बाद, हम 'row.names ()' फ़ंक्शन का उपयोग करते हैं और 'MyData' DataFrame के मानों के लिए पंक्ति नाम सेट करते हैं। अंत में, हम t() फ़ंक्शन का उपयोग करके 'MyData' DataFrame को स्थानांतरित करते हैं।



निम्न आउटपुट डेटाफ़्रेम के ट्रांसपोज़िशन को दिखाता है जहाँ मूल डेटाफ़्रेम के पंक्ति नाम ट्रांसपोज़्ड डेटाफ़्रेम के कॉलम नाम बन जाते हैं, और मूल डेटाफ़्रेम के कॉलम नाम ट्रांसपोज़िशन में खो जाते हैं:







उदाहरण 2: आर में ट्रांसपोज़ () फ़ंक्शन का उपयोग करके डेटाफ़्रेम को स्थानांतरित करें

'डेटा.टेबल' पैकेज से ट्रांसपोज़ () फ़ंक्शन का उपयोग डेटाफ़्रेम को स्थानांतरित करने के लिए भी किया जा सकता है और यह डेटाफ़्रेम लौटाता है। इसलिए, हमें यह सुनिश्चित करना होगा कि 'डेटा.टेबल' आर में स्थापित है। यदि यह नहीं मिला है, तो हम इसे निम्नलिखित कमांड से स्थापित कर सकते हैं:

install.packages('data.table')

अब, हम DataFrame को स्थानांतरित करने के लिए R में ट्रांसपोज़ () फ़ंक्शन तक पहुँचने के लिए 'data.table' पैकेज को आसानी से आयात कर सकते हैं। निम्नलिखित आर कोड पर विचार करें जहां डेटाफ़्रेम को स्थानांतरित करने के लिए ट्रांसपोज़ () फ़ंक्शन को कहा जाता है:



डीएफ <- डेटा.फ्रेम (ए = सी (1: 5),

बी = सी (6:10),
सी = सी (11:15))


पंक्ति नाम (डीएफ) <- सी ('आर 1', 'आर 2', 'आर 3', 'आर 4', 'आर 5')

df

यहां, हम तीन कॉलम और पांच पंक्तियों के साथ 'df' डेटाफ़्रेम बनाते हैं, जहाँ प्रत्येक कॉलम में क्रमशः 1 से 5, 6 से 10 और 11 से 15 तक संख्याओं का क्रम होता है। इसके अतिरिक्त, हम row.names() फ़ंक्शन का उपयोग करके DataFrame पंक्ति नाम निर्दिष्ट करते हैं। उसके बाद, हम मूल डेटाफ़्रेम को कंसोल पर प्रिंट करते हैं।

मूल डेटाफ़्रेम यहाँ स्क्रीन पर दिखाया गया है:

अगला, हम डेटाफ़्रेम की पंक्तियों और स्तंभों को स्विच करके मूल 'df' डेटाफ़्रेम को स्थानांतरित करते हैं।

पुस्तकालय (डेटा.टेबल)

df_trans <- स्थानांतरण (df)

पंक्तिनाम (df_trans) <- उपनाम (df)

उपनाम (df_trans) <- पंक्तिनाम (df)

df_trans

इसके लिए, हम पहले 'डेटा.टेबल' लाइब्रेरी को लोड करते हैं जो आर में सारणीबद्ध डेटा के साथ काम करने के लिए उपकरण प्रदान करता है। फिर, 'डेटा.टेबल' लाइब्रेरी से ट्रांसपोज़ () फ़ंक्शन का उपयोग किया जाता है। परिणामी ट्रांसपोज़्ड डेटाफ़्रेम को एक नए चर को सौंपा गया है जो 'df_t' है। उसके बाद, हम मूल 'df' डेटाफ़्रेम के कॉलम नामों को पंक्तियों के नाम के रूप में ट्रांसपोज़्ड 'df_trans' DataFrame में rownames () फ़ंक्शन का उपयोग करके असाइन करते हैं। फिर, मूल 'df' DataFrame के पंक्ति नामों को colnames () फ़ंक्शन का उपयोग करके ट्रांसपोज़्ड 'df_trans' DataFrame में कॉलम नाम के रूप में असाइन किया गया है।

इस प्रकार, मूल DataFrame ट्रांसपोज़िशन आउटपुट में प्राप्त किया जाता है। यह ट्रांसपोज़्ड डेटाफ़्रेम में प्रत्येक सेल का प्रतिनिधित्व करता है जिसमें मूल डेटाफ़्रेम में संबंधित सेल के समान मान होता है लेकिन ट्रांसपोज़िशन के कारण एक अलग स्थिति में होता है।

उदाहरण 3: Tidyr लाइब्रेरी Gather() फ़ंक्शन का उपयोग करके R में डेटाफ़्रेम को स्थानांतरित करें

R के tidyr पैकेज का उपयोग DataFrame को स्थानांतरित करने के लिए किया जा सकता है। यह विधि तब उपयोगी होती है जब हम किसी DataFrame को विस्तृत से लंबे प्रारूप में बदलना चाहते हैं, और फिर स्वैप की गई पंक्तियों और स्तंभों के साथ वापस विस्तृत प्रारूप में बदलना चाहते हैं। यह डेटा को बदलने और पुनर्गठित करने के लिए कई कार्य प्रदान करता है। इससे पहले, हमें विशेष रूप से निम्नलिखित कमांड का उपयोग करके tidyr पैकेज डाउनलोड करना होगा:

install.packages('tidyr')

आइए निम्नलिखित आर कोड पर विचार करें। हम विस्तृत DataFrame को लंबे समय तक स्थानांतरित करने के लिए इस पैकेज के एकत्रित () फ़ंक्शन का उपयोग करते हैं:

पुस्तकालय (टिडर)

एन = 10

tidy_df = डेटा.फ्रेम (

आईडी = सी (1: एन),
Exam1_Marks = c(73, 219, 86, 192, 99,
188, 72, 35, 91, 165),
Exam2_Marks = c(217, 89, 66, 334, 99,
101, 108, 233, 45, 300),
Exam3_Marks = c(39, 101, 209, 289, 176,
120, 89, 119, 199, 96))

tidy_df

यहाँ, एक 'विस्तृत' डेटाफ़्रेम को टिडर का उपयोग करके 'लंबे' डेटाफ़्रेम में परिवर्तित किया जाता है। सबसे पहले, हम तीन कॉलम के साथ एक 'tidy_df' डेटाफ़्रेम बनाते हैं। इनमें से प्रत्येक कॉलम में 10 मान हैं।

लंबे डेटाफ़्रेम को निम्न आउटपुट स्क्रीन में दिखाया गया है:

फिर, हम पाइप ऑपरेटर '%>%' के साथ इकट्ठा () फ़ंक्शन के लिए 'tidy_df' डेटाफ़्रेम पास करते हैं। tidyr से एकत्रित () फ़ंक्शन का उपयोग 'tidy_df' को एक लंबे डेटाफ़्रेम में बदलने के लिए किया जाता है। इकट्ठा () फ़ंक्शन 'परीक्षा' नाम के साथ इनपुट लेता है जो परिवर्तन में बनाए गए चर नामों को रखने के लिए एक नया कॉलम इंगित करता है। 'मार्क्स' उस कॉलम को निर्दिष्ट करता है जो 'Exam1_Marks' और 'Exam2_Marks' को एक साथ इकट्ठा करता है।

लंबा <- tidy_df%>%

इकट्ठा (परीक्षा, अंक,
परीक्षा1_मार्क्स: परीक्षा2_मार्क्स)


लंबा

आउटपुट लंबे डेटाफ़्रेम को कंसोल में प्रदर्शित करता है जिसमें अब तीन कॉलम के साथ 'लंबा' प्रारूप है:

उदाहरण 4: R में Pivot_Wider() फ़ंक्शन का उपयोग करके डेटाफ़्रेम को स्थानांतरित करें

अगला उन्नत फ़ंक्शन जिसे हम डेटाफ़्रेम को स्थानांतरित करने के लिए उपयोग करते हैं वह है पिवोट_वाइडर () फ़ंक्शन। Pivot_wider () R में tidyr पैकेज से एक फ़ंक्शन है जो हमें 'लॉन्ग' डेटाफ़्रेम को 'वाइड' डेटाफ़्रेम में बदलने की अनुमति देता है। फ़ंक्शन में तीन मुख्य तर्क होते हैं जिन पर R के निम्नलिखित कोड में चर्चा की गई है:

पुस्तकालय (टिडर)

डीएफ <- डेटा.फ्रेम (

आईडी = सी (1, 2, 3, 1, 2, 3),
var = c ('v1', 'v1', 'v1', 'v2', 'v2', 'v2'),
वैल = सी (4, 5, 6, 7, 8, 9)


)

df

यहां, हम पहले लाइब्रेरी () फ़ंक्शन का उपयोग करके tidyr पैकेज को लोड करते हैं। फिर, हम नमूना डेटाफ़्रेम को 'df' में सेट करते हैं। 'Df' DataFrame में तीन कॉलम होते हैं जिनमें अलग-अलग मान होते हैं। नमूना DataFrame को निम्न आउटपुट में देखा जा सकता है:

उसके बाद, tidyr से पिवोट_वाइडर () फ़ंक्शन का उपयोग 'df' को 'df_wide' में बदलने के लिए किया जाता है।

डीएफ_वाइड <- पिवोट_वाइडर (डीएफ, नाम_फ्रॉम = var, वैल्यू_फ्रॉम = वैल)

df_चौड़ा

Pivot_wider() फ़ंक्शन यहां तीन तर्क लेता है। सबसे पहले, यह 'df' डेटाफ़्रेम को रूपांतरित करने के लिए लेता है। फिर, name_from तर्क कॉलम नाम को नए चर नामों के लिए उपयोग करने के लिए सेट करता है। अंत में, value_from तर्क नए मानों के लिए उपयोग किए जाने वाले कॉलम नाम को निर्दिष्ट करता है।

निम्न आउटपुट लंबे डेटाफ़्रेम को विस्तृत डेटाफ़्रेम में बदलने का प्रतिनिधित्व करता है:

निष्कर्ष

हमने R में DataFrame को स्थानांतरित करने के लिए विभिन्न तरीकों का उपयोग किया। पहला उदाहरण t() बिल्ट-इन विधि के साथ सेट किया गया है। अन्य सभी उदाहरणों के लिए संकुल को आयात करने की आवश्यकता थी ताकि हम DataFrame पारदर्शिता के लिए उनके कार्यों का उपयोग कर सकें। हालांकि, उपयोग करने का सबसे अच्छा तरीका उस विशिष्ट स्थिति और डेटा संरचना पर निर्भर करता है जिसके साथ आप काम कर रहे हैं।