लर्निंग पाथ
R प्रोग्रामिंग वातावरण में मैट्रिक्स को ट्रांसपोज़ करना डेटा मैनिपुलेशन का एक बुनियादी कार्य है। इस ट्यूटोरियल में, मैं आपको दिखाऊंगा कि R में मैट्रिक्स को प्रभावी ढंग से कैसे ट्रांसपोज़ करें, और इस कार्य को करने के कई तरीके प्रस्तुत करूंगा। आइए शुरू करें!
त्वरित उत्तर: R में मैट्रिक्स को ट्रांसपोज़ कैसे करें
यदि आप जल्दी में हैं, तो R में मैट्रिक्स को ट्रांसपोज़ करने का सबसे तेज़ तरीका है: t() फ़ंक्शन का उपयोग करें। t() फ़ंक्शन बेस R का हिस्सा है और मैट्रिक्स को तुरंत ट्रांसपोज़ करने का तरीका देता है। यहाँ एक सरल उदाहरण है:
# Creating a sample matrix
my_matrix <- matrix(1:6, nrow = 2, ncol = 3)
print(my_matrix)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
# Transposing the matrix
transposed_matrix <- t(my_matrix)
print(transposed_matrix)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
ट्रांसपोज़ करना क्या है?
किसी मैट्रिक्स को ट्रांसपोज़ करना उसकी पंक्तियों और स्तंभों को उलटने जैसा है—पंक्ति डेटा को स्तंभ डेटा में और स्तंभ डेटा को पंक्ति डेटा में बदलना। यह ऑपरेशन आम तौर पर डेटा को फिर से संरचित करने के लिए किया जाता है, ताकि वे विशेष विश्लेषण या विज़ुअलाइज़ेशन के लिए अधिक उपयुक्त हो जाएँ। उदाहरण के लिए, मान लें कि आपके पास विभिन्न शहरों के दैनिक तापमान वाला मैट्रिक्स है। इस डेटा फ़्रेम को ट्रांसपोज़ करने से पंक्तियाँ (दिन) और स्तंभ (शहर) आपस में बदल जाएँगे, जिससे आगे के कार्य जैसे प्लॉटिंग या सांख्यिकीय विश्लेषण सरल हो सकते हैं।
|
दिन |
न्यूयॉर्क |
लॉस एंजेलिस |
शिकागो |
|
दिन 1 |
22 |
25 |
18 |
|
दिन 2 |
20 |
28 |
21 |
ट्रांसपोज़ करने से पहले 3 शहरों में फैला एक नमूना मौसम डेटासेट
|
शहर |
दिन 1 |
दिन 2 |
|
न्यूयॉर्क |
22 |
20 |
|
लॉस एंजेलिस |
25 |
28 |
|
शिकागो |
18 |
21 |
ट्रांसपोज़ करने के बाद 3 शहरों में फैला एक नमूना मौसम डेटासेट
R में मैट्रिक्स को ट्रांसपोज़ करने के तीन तरीके
विभिन्न शहरों के दैनिक तापमान वाले हमारे मैट्रिक्स को ध्यान में रखते हुए, आइए देखें कि R में अलग-अलग तरीकों से इस मैट्रिक्स को कैसे ट्रांसपोज़ किया जा सकता है।
तरीका #1: Base R का उपयोग करके R में मैट्रिक्स को ट्रांसपोज़ करना
R में मैट्रिक्स को ट्रांसपोज़ करने का सबसे सीधा तरीका है बेस R के t() फ़ंक्शन का उपयोग करना, जैसा कि पहले दिखाया गया है। यह कुशल, सीधा और बिना अतिरिक्त पैकेज के जल्दी ट्रांसपोज़ करने के लिए प्राथमिक विकल्प है।
# Assume that temparature_matrix is already predefined
print(temperature_matrix)
New_York Los_Angeles Chicago
Day 1 22 20 25
Day 2 28 18 21
# Transpose temperature_matrix
transposed_matrix <- t(temperature_matrix)
print(transposed_matrix)
Day 1 Day 2
New_York 22 28
Los_Angeles 20 18
Chicago 25 21
तरीका #2: tidyverse का उपयोग करके R में मैट्रिक्स को ट्रांसपोज़ करना
tidyverse R में टूल्स का एक सशक्त सेट है, जो डेटा के साथ काम करना कुशल और एकरूप बनाता है। यद्यपि tidyverse आमतौर पर डेटा फ़्रेम के साथ उपयोग होता है, आप किसी मैट्रिक्स को डेटा फ़्रेम में बदलकर और फिर tidyr का उपयोग करके पिवटिंग के माध्यम से उसे "ट्रांसपोज़" कर सकते हैं। यदि आप पहले से ही डेटा विश्लेषण के लिए tidyverse का उपयोग कर रहे हैं, तो यह विशेष रूप से उपयोगी है।
library(tidyr)
library(dplyr)
library(tibble)
# Converting the matrix to a data frame for tidyverse manipulation
temperature_df <- as.data.frame(temperature_matrix)
# "Transposing" the matrix by converting to long then wide format
transposed_df <- temperature_df %>%
rownames_to_column(var = "Day") %>%
pivot_longer(-Day, names_to = "City", values_to = "Temperature") %>%
pivot_wider(names_from = City, values_from = Temperature)
print(transposed_df)
# A tibble: 2 × 4
Day New_York Los_Angeles Chicago
<chr> <dbl> <dbl> <dbl>
1 Day 1 22 20 25
2 Day 2 28 18 21
तरीका #3: data.table का उपयोग करके R में मैट्रिक्स को ट्रांसपोज़ करना
tidyverse पद्धति की तरह ही, data.table डेटा फ़्रेम या डेटा टेबल्स के साथ काम कर सकता है। यहाँ बताया गया है कि पहले इसे डेटा टेबल में बदलकर आप मैट्रिक्स को कैसे ट्रांसपोज़ कर सकते हैं:
library(data.table)
# Converting the matrix to a data.table
temperature_dt <- as.data.table(temperature_matrix, keep.rownames = "Day")
# Transposing the matrix by melting and dcasting (similar to pivot_longer and pivot_wider)
transposed_dt <- melt(temperature_dt, id.vars = "Day") %>%
dcast(variable ~ Day, value.var = "value")
print(transposed_dt)
variable Day 1 Day 2
1: New_York 22 28
2: Los_Angeles 20 18
3: Chicago 25 21
अंतिम विचार
R प्रोग्रामिंग में मैट्रिक्स को ट्रांसपोज़ करना एक बुनियादी कौशल है। चाहे आप base R का उपयोग करें, tidyverse के भीतर tidyr का, या data.table पैकेज का—R आपके डेटा की ज़रूरतों के अनुसार लचीले विकल्प प्रदान करता है। और जानना चाहते हैं? हमारा Reshaping Data with tidyr in R चीट शीट देखें, या बेहतर यह कि Data Manipulation in R स्किल ट्रैक से शुरुआत करें।
एडेल एक डेटा साइंस शिक्षक, वक्ता, और DataCamp में मीडिया के वीपी हैं। एडेल ने डेटा विश्लेषण, मशीन लर्निंग, और डेटा इंजीनियरिंग पर कई पाठ्यक्रम और लाइव प्रशिक्षण जारी किए हैं। वह संगठनों में डेटा कौशल और डेटा साक्षरता फैलाने, तथा तकनीक और समाज के संगम के प्रति उत्साही हैं। उनके पास डेटा साइंस और बिज़नेस एनालिटिक्स में एमएससी है। खाली समय में, आप उन्हें अपने बिल्ली लुई के साथ समय बिताते हुए पा सकते हैं।
