كيفية استخدام الدالة melt() في r
يمكنك استخدام وظيفة الذوبان () لحزمة reshape2 في R لتحويل إطار البيانات من تنسيق واسع إلى تنسيق طويل.
يحتوي التنسيق الواسع على قيم غير مكررة في العمود الأول.
يحتوي التنسيق الطويل على قيم تتكرر في العمود الأول.
على سبيل المثال، ضع في اعتبارك مجموعتي البيانات التاليتين اللتين تحتويان على نفس البيانات تمامًا معبرًا عنها بتنسيقات مختلفة:
تستخدم الدالة Melt() الصيغة الأساسية التالية لتحويل إطار بيانات واسع التنسيق إلى تنسيق طويل:
melt(df, id=' team ')
تحدد وسيطة المعرف المتغير الذي سيتم استخدامه كعمود أول في إطار البيانات الذي سيتم تكرار قيمه.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: كيفية استخدام Melt() في R
لنفترض أن لدينا إطار البيانات التالي في R والذي هو حاليًا بتنسيق واسع:
#create data frame in wide format df <- data. frame (team=c('A', 'B', 'C', 'D'), dots=c(88, 91, 99, 94), assists=c(12, 17, 24, 28), rebounds=c(22, 28, 30, 31)) #view data frame df team points assists rebounds 1 A 88 12 22 2 B 91 17 28 3 C 99 24 30 4 D 94 28 31
يمكننا استخدام الدالة Melt() لتحويل إطار البيانات بسرعة إلى تنسيق طويل:
library (reshape2) #use melt() to convert data frame from wide to long format long_df <- melt(df, id=' team ') #view long data frame long_df team variable value 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
لاحظ أن إطار البيانات أصبح الآن بتنسيق طويل.
تم ضغط أعمدة النقاط والتمريرات والمرتدات جميعها في عمود واحد يسمى المتغير بينما تم ضغط قيمها جميعها في عمود واحد يسمى القيم .
لا تتردد في إعادة تسمية أعمدة إطار البيانات الناتج باستخدام وظيفة الأسماء () :
#rename columns in long_df names(long_df) <- c(' team ', ' metric ', ' amount ') #view updated data frame long_df team metric amount 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
لاحظ أنه تمت إعادة تسمية الأعمدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية تصفية الصفوف في R
كيفية نقل إطار البيانات إلى R
كيفية إعادة تسمية أعمدة إطار البيانات في R