ڈیٹا فریم کو R میں منتقل کرنے کا طریقہ

Y A Frym Kw R My Mntql Krn Ka Tryq



ڈیٹاسیٹ کو منتقل کرنا ایک ایسا ہی عمل ہے جو تجزیہ کی مخصوص ضروریات کو پورا کرنے کے لیے ڈیٹا میں اصلاحات کرتا ہے۔ ڈیٹاسیٹ کی منتقلی میں ڈیٹاسیٹ کی الٹی ہوئی قطاریں اور کالم شامل ہوتے ہیں، جس کے نتیجے میں تبدیل شدہ کالموں اور قطاروں کے ساتھ ایک نیا ڈیٹاسیٹ ہوتا ہے۔ R ڈیٹاسیٹ کو منتقل کرنے کے لیے کچھ افعال فراہم کرتا ہے۔ اس مضمون میں، ہم R میں ڈیٹا فریمز کے لیے مختلف ٹرانسپوزنگ طریقوں کا احاطہ کریں گے۔

مثال 1: R میں T() فنکشن کا استعمال کرتے ہوئے ڈیٹا فریم کو منتقل کریں۔

t() فنکشن R کا ایک ان بلٹ فنکشن ہے جو ڈیٹا فریم کو منتقل کرنے کے لیے استعمال ہوتا ہے۔ تاہم، یہ ڈیٹا فریم کو میٹرکس میں تبدیل کرتا ہے، لہذا کوئی بھی غیر عددی کالم کریکٹر سٹرنگز میں تبدیل ہو جاتا ہے۔ ڈیٹا فریم کو منتقل کرنے کے لیے درج ذیل R اسکرپٹ پر غور کریں:







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

c2 = c(6, 7, 8, 9, 10),
c3 = c(11، 12، 13، 14، 15))

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

t(MyData)

یہاں، ہم MyData ویکٹر کا اعلان کرتے ہیں اور اسے data.frame() تفویض کرتے ہیں۔ ہم نمونہ ڈیٹا داخل کرتے ہیں جس میں data.frame() فنکشن کے اندر اقدار کے ساتھ تین کالم ہوتے ہیں۔ اس کے بعد، ہم 'row.names()' فنکشن استعمال کرتے ہیں اور 'MyData' DataFrame کی اقدار کے لیے قطار کے نام سیٹ کرتے ہیں۔ آخر میں، ہم t() فنکشن کا استعمال کرتے ہوئے 'MyData' DataFrame کو منتقل کرتے ہیں۔



مندرجہ ذیل آؤٹ پٹ ڈیٹا فریم کی منتقلی کو ظاہر کرتا ہے جہاں اصل ڈیٹا فریم کے قطار کے نام ٹرانسپوزڈ ڈیٹا فریم کے کالم کے نام بن جاتے ہیں، اور اصل ڈیٹا فریم کے کالم کے نام ٹرانسپوزیشن میں کھو جاتے ہیں:







مثال 2: R میں Transpose() فنکشن کا استعمال کرتے ہوئے ڈیٹا فریم کو منتقل کریں۔

'data.table' پیکج سے transpose() فنکشن بھی ڈیٹا فریم کو منتقل کرنے کے لیے استعمال کیا جا سکتا ہے اور یہ ڈیٹا فریم واپس کرتا ہے۔ لہذا، ہمیں اس بات کو یقینی بنانا ہوگا کہ 'data.table' R میں انسٹال ہے۔ اگر یہ نہیں ملا تو، ہم اسے درج ذیل کمانڈ سے انسٹال کر سکتے ہیں:

install.packages('data.table')

اب، ہم ڈیٹا فریم کو ٹرانسپوز کرنے کے لیے R میں transpose() فنکشن تک رسائی حاصل کرنے کے لیے آسانی سے 'data.table' پیکیج درآمد کر سکتے ہیں۔ درج ذیل آر کوڈ پر غور کریں جہاں ٹرانسپوز() فنکشن ڈیٹا فریم کو ٹرانسپوز کرنے کے لیے کہا جاتا ہے۔



df <- data.frame(A = c(1:5)،

B = c(6:10)،
C = c(11:15))


row.names(df) <- c('r1', 'r2', 'r3', 'r4', 'r5')

ڈی ایف

یہاں، ہم تین کالموں اور پانچ قطاروں کے ساتھ 'df' ڈیٹا فریم بناتے ہیں جہاں ہر کالم میں بالترتیب 1 سے 5، 6 سے 10 اور 11 سے 15 تک نمبروں کی ترتیب ہوتی ہے۔ مزید برآں، ہم row.names() فنکشن کا استعمال کرتے ہوئے DataFrame قطار کے نام تفویض کرتے ہیں۔ اس کے بعد، ہم اصل ڈیٹا فریم کو کنسول پر پرنٹ کرتے ہیں۔

اصل ڈیٹا فریم یہاں اسکرین پر دکھایا گیا ہے:

اگلا، ہم ڈیٹا فریم کی قطاروں اور کالموں کو تبدیل کرکے اصل 'df' ڈیٹا فریم کو منتقل کرتے ہیں۔

لائبریری (data.table)

df_trans <- ٹرانسپوز(df)

rownames(df_trans) <- colnames(df)

colnames(df_trans) <- rownames(df)

df_trans

اس کے لیے، ہم پہلے 'data.table' لائبریری کو لوڈ کرتے ہیں جو R میں ٹیبلر ڈیٹا کے ساتھ کام کرنے کے لیے ٹولز فراہم کرتی ہے۔ پھر، 'data.table' لائبریری سے transpose() فنکشن استعمال ہوتا ہے۔ نتیجے میں ٹرانسپوزڈ ڈیٹا فریم ایک نئے متغیر کو تفویض کیا گیا ہے جو 'df_t' ہے۔ اس کے بعد، ہم rownames() فنکشن کا استعمال کرتے ہوئے ٹرانسپوزڈ 'df_trans' ڈیٹا فریم کو قطار کے نام کے طور پر اصل 'df' DataFrame کے کالم نام تفویض کرتے ہیں۔ اس کے بعد، اصل 'df' DataFrame کے قطار کے نام colnames() فنکشن کا استعمال کرتے ہوئے ٹرانسپوزڈ 'df_trans' ڈیٹا فریم کو کالم کے نام کے طور پر تفویض کیے جاتے ہیں۔

اس طرح، اصل ڈیٹا فریم ٹرانسپوزیشن آؤٹ پٹ میں حاصل کی جاتی ہے۔ یہ ٹرانسپوزڈ ڈیٹا فریم میں ہر سیل کی نمائندگی کرتا ہے جس میں اس کی اصل ڈیٹا فریم میں متعلقہ سیل جیسی قدر ہوتی ہے لیکن ٹرانسپوزیشن کی وجہ سے مختلف پوزیشن میں ہوتی ہے۔

مثال 3: R میں Tidyr Library Gather() فنکشن کا استعمال کرتے ہوئے ڈیٹا فریم کی منتقلی

R کے tidyr پیکیج کو ڈیٹا فریم کی منتقلی کے لیے استعمال کیا جا سکتا ہے۔ یہ طریقہ کارآمد ہے جب ہم ڈیٹا فریم کو چوڑے سے لمبے فارمیٹ میں تبدیل کرنا چاہتے ہیں، اور پھر تبدیل شدہ قطاروں اور کالموں کے ساتھ وسیع فارمیٹ میں واپس جانا چاہتے ہیں۔ یہ ڈیٹا کو تبدیل کرنے اور دوبارہ ترتیب دینے کے لیے کئی افعال فراہم کرتا ہے۔ اس سے پہلے، ہمیں خاص طور پر درج ذیل کمانڈ کا استعمال کرتے ہوئے tidyr پیکیج کو ڈاؤن لوڈ کرنے کی ضرورت ہے۔

install.packages('tidyr')

آئیے درج ذیل آر کوڈ پر غور کریں۔ ہم اس پیکج کے gather() فنکشن کو وسیع ڈیٹا فریم کو طویل عرصے تک منتقل کرنے کے لیے استعمال کرتے ہیں۔

لائبریری (صاف)

n = 10

tidy_df = data.frame(

ID = c(1:n)،
امتحان 1_مارکس = c(73، 219، 86، 192، 99،
188، 72، 35، 91، 165)
امتحان 2_مارکس = c(217، 89، 66، 334، 99،
101، 108، 233، 45، 300)
امتحان 3_مارکس = c(39، 101، 209، 289، 176،
120، 89، 119، 199، 96))

tidy_df

یہاں، ایک 'وسیع' ڈیٹا فریم کو tidyr کا استعمال کرتے ہوئے 'طویل' ڈیٹا فریم میں تبدیل کیا جاتا ہے۔ سب سے پہلے، ہم تین کالموں کے ساتھ 'tidy_df' ڈیٹا فریم بناتے ہیں۔ ان کالموں میں سے ہر ایک کی 10 اقدار ہیں۔

لمبا ڈیٹا فریم درج ذیل آؤٹ پٹ اسکرین میں دکھایا گیا ہے۔

پھر، ہم 'tidy_df' ڈیٹا فریم کو پائپ آپریٹر '%>%' کے ساتھ gather() فنکشن میں منتقل کرتے ہیں۔ tidyr سے gather() فنکشن 'tidy_df' کو ایک طویل ڈیٹا فریم میں تبدیل کرنے کے لیے استعمال کیا جاتا ہے۔ gather() فنکشن 'Exams' نام کے ساتھ ان پٹ لیتا ہے جو تبدیلی میں بنائے گئے متغیر ناموں کو رکھنے کے لیے ایک نئے کالم کی نشاندہی کرتا ہے۔ 'مارکس' اس کالم کی وضاحت کرتا ہے جو 'Exam1_Marks' اور 'Exam2_Marks' کو ایک ساتھ جمع کرتا ہے۔

طویل <- tidy_df %>%

جمع (امتحانات، مارکس،
امتحان 1_مارکس: امتحان 2_مارکس)


طویل

آؤٹ پٹ کنسول پر لمبا ڈیٹا فریم دکھاتا ہے جس میں اب تین کالموں کے ساتھ 'لمبا' فارمیٹ ہے:

مثال 4: R میں Pivot_Wider() فنکشن کا استعمال کرتے ہوئے ڈیٹا فریم کو منتقل کریں

اگلا ایڈوانس فنکشن جسے ہم ڈیٹا فریم کو منتقل کرنے کے لیے استعمال کرتے ہیں وہ pivot_wider() فنکشن ہے۔ pivot_wider() R میں tidyr پیکیج کا ایک فنکشن ہے جو ہمیں 'طویل' ڈیٹا فریم کو 'وسیع' ڈیٹا فریم میں تبدیل کرنے کی اجازت دیتا ہے۔ فنکشن تین اہم دلائل لیتا ہے جو R کے درج ذیل کوڈ میں زیر بحث آئے ہیں۔

لائبریری (صاف)

df <- data.frame(

id = c(1, 2, 3, 1, 2, 3),
var = c('v1'، 'v1'، 'v1'، 'v2'، 'v2'، 'v2')
val = c(4, 5, 6, 7, 8, 9)


)

ڈی ایف

یہاں، ہم سب سے پہلے library() فنکشن کا استعمال کرتے ہوئے tidyr پیکیج لوڈ کرتے ہیں۔ پھر، ہم نمونہ ڈیٹا فریم کو 'df' میں سیٹ کرتے ہیں۔ 'df' ڈیٹا فریم میں تین کالم ہوتے ہیں جو مختلف اقدار پر مشتمل ہوتے ہیں۔ نمونہ ڈیٹا فریم مندرجہ ذیل آؤٹ پٹ میں دیکھا جا سکتا ہے:

اس کے بعد، tidyr سے pivot_wider() فنکشن 'df' کو 'df_wide' میں تبدیل کرنے کے لیے استعمال ہوتا ہے۔

df_wide <- pivot_wider(df, names_from = var, values_from = val)

df_wide

pivot_wider() فنکشن یہاں تین دلائل لیتا ہے۔ سب سے پہلے، یہ 'df' ڈیٹا فریم کو تبدیل کرنے کی ضرورت ہے۔ پھر، names_from argument نئے متغیر ناموں کے لیے استعمال کیے جانے والے کالم کا نام سیٹ کرتا ہے۔ آخر میں، values_from argument نئی اقدار کے لیے استعمال کیے جانے والے کالم کا نام بتاتا ہے۔

درج ذیل آؤٹ پٹ طویل ڈیٹا فریم کی وسیع ڈیٹا فریم میں منتقلی کی نمائندگی کرتا ہے۔

نتیجہ

ہم نے ڈیٹا فریم کو R میں منتقل کرنے کے لیے مختلف طریقے استعمال کیے ہیں۔ پہلی مثال t() بلٹ ان میتھڈ کے ساتھ سیٹ کی گئی ہے۔ دیگر تمام مثالوں کو درآمد کرنے کے لیے پیکجوں کی ضرورت تھی تاکہ ہم ڈیٹا فریم ٹرانسپوزیشن کے لیے ان کے افعال استعمال کر سکیں۔ تاہم، استعمال کرنے کا بہترین طریقہ اس مخصوص صورتحال اور ڈیٹا کی ساخت پر منحصر ہے جس کے ساتھ آپ کام کر رہے ہیں۔