كيفية استخدام دالة الانتشار في لغة r (مع أمثلة)
يمكن استخدام وظيفة الانتشار () في حزمة Tidyr “لتوزيع” زوج القيمة الرئيسية عبر أعمدة متعددة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
الانتشار (البيانات، القيمة الرئيسية)
ذهب:
- البيانات : اسم إطار البيانات
- المفتاح : العمود الذي ستصبح قيمه أسماء متغيرة
- القيمة : العمود الذي سيتم فيه ملء القيم ضمن المتغيرات الجديدة التي تم إنشاؤها من المفتاح
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا.
مثال 1: توزيع القيم على عمودين
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ), year= rep (c(1, 1, 2, 2), times= 2 ), stat= rep (c(' points ', ' assists '), times= 4 ), amount=c(14, 6, 18, 7, 22, 9, 38, 4)) #view data frame df player year stat amount 1 A 1 points 14 2 A 1 assists 6 3 A 2 points 18 4 A 2 assists 7 5 B 1 points 22 6 B 1 assists 9 7 B 2 points 38 8 B 2 assists 4
يمكننا استخدام الدالة Spread() لتحويل قيم أعمدة الإحصائيات إلى أعمدة خاصة بها:
library (tidyr) #spread stat column across multiple columns spread(df, key=stat, value=amount) player year assists points 1 to 1 6 14 2 to 2 7 18 3 B 1 9 22 4 B 2 4 38
مثال 2: توزيع القيم على أكثر من عمودين
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame df2 <- data. frame (player= rep (c(' A '), times= 8 ), year= rep (c(1, 2), each= 4 ), stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ), amount=c(14, 6, 2, 1, 29, 9, 3, 4)) #view data frame df2 player year stat amount 1 A 1 points 14 2 A 1 assists 6 3 A 1 steals 2 4 A 1 blocks 1 5 A 2 points 29 6 A 2 assists 9 7 A 2 steals 3 8 A 2 blocks 4
يمكننا استخدام دالة Spread() لتحويل القيم الأربع الفريدة في عمود الإحصائيات إلى أربعة أعمدة جديدة:
library (tidyr) #spread stat column across multiple columns spread(df2, key=stat, value=amount) player year assists blocks points steals 1 A 1 6 1 14 2 2 A 2 9 4 29 3
مصادر إضافية
الهدف من حزمة Tidyr هو إنشاء بيانات “مرتبة” تتميز بالخصائص التالية:
- كل عمود هو متغير.
- كل سطر هو ملاحظة.
- كل خلية لها قيمة فريدة.
تستخدم حزمة Tidyr أربع وظائف رئيسية لإنشاء البيانات المطلوبة:
1. وظيفة الانتشار () .
2. وظيفة التجميع () .
3. الدالةالمنفصلة () .
4. وظيفة الوحدة () .
إذا أتقنت هذه الوظائف الأربع، فستتمكن من إنشاء بيانات “مرتبة” من أي إطار بيانات.