الدليل الكامل: كيفية تجميع البيانات وتلخيصها في لغة r
من المهام الأكثر شيوعًا التي ستقوم بها عند تحليل البيانات هما تجميع البيانات وتلخيصها.
لحسن الحظ، تسمح لك حزمة dplyr في R بتجميع البيانات وتلخيصها بسرعة.
يوفر هذا البرنامج التعليمي دليلاً سريعًا لبدء استخدام dplyr.
قم بتثبيت وتحميل حزمة dplyr
قبل أن تتمكن من استخدام الوظائف الموجودة في حزمة dplyr، يجب عليك أولاً تحميل الحزمة:
#install dplyr (if not already installed)
install.packages(' dplyr ')
#load dplyr
library(dplyr)
بعد ذلك، سنوضح عدة أمثلة لاستخدام وظائف dplyr لتجميع البيانات وتلخيصها باستخدام مجموعة بيانات R المضمنة والتي تسمى mtcars :
#obtain rows and columns of mtcars dim(mtcars) [1] 32 11 #view first six rows of mtcars head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
بناء الجملة الأساسي الذي سنستخدمه لتجميع البيانات وتلخيصها هو:
data %>% group_by (col_name) %>% summarize (summary_name = summary_function)
ملحوظة: الدالتان Summary() و summarise() متكافئتان.
مثال 1: أوجد المتوسط والوسيط حسب المجموعة
يوضح الكود التالي كيفية حساب مقاييس النزعة المركزية حسب المجموعة بما في ذلك المتوسط والوسيط:
#find mean mpg by cylinder mtcars %>% group_by (cyl) %>% summarize (mean_mpg = mean(mpg, na.rm = TRUE )) # A tibble: 3 x 2 cyl mean_mpg 1 4 26.7 2 6 19.7 3 8 15.1 #find median mpg by cylinder mtcars %>% group_by (cyl) %>% summarize (median_mpg = median(mpg, na.rm = TRUE )) # A tibble: 3 x 2 cyl median_mpg 1 4 26 2 6 19.7 3 8 15.2
مثال 2: إيجاد مقاييس الانتشار حسب المجموعة
يوضح التعليمة البرمجية التالية كيفية حساب مقاييس التشتت حسب المجموعة، بما في ذلك الانحراف المعياري، والمدى الربيعي، والانحراف المتوسط المطلق:
#find sd, IQR, and mad by cylinder mtcars %>% group_by (cyl) %>% summarize (sd_mpg = sd(mpg, na.rm = TRUE ), iqr_mpg = IQR(mpg, na.rm = TRUE ), mad_mpg = mad(mpg, na.rm = TRUE )) # A tibble: 3 x 4 cyl sd_mpg iqr_mpg mad_mpg 1 4 4.51 7.60 6.52 2 6 1.45 2.35 1.93 3 8 2.56 1.85 1.56
مثال 3: ابحث عن الرقم حسب المجموعة
يوضح الكود التالي كيفية العثور على الرقم والرقم الفريد حسب المجموعة في R:
#find row count and unique row count by cylinder mtcars %>% group_by (cyl) %>% summarize (count_mpg = n(), u_count_mpg = n_distinct(mpg)) # A tibble: 3 x 3 cyl count_mpg u_count_mpg 1 4 11 9 2 6 7 6 3 8 14 12
مثال 4: ابحث عن النسبة المئوية حسب المجموعة
يوضح الكود التالي كيفية العثور على النسبة المئوية التسعين لقيم ميلا في الغالون حسب مجموعة الأسطوانات:
#find 90th percentile of mpg for each cylinder group mtcars %>% group_by (cyl) %>% summarize (quant90 = quantile(mpg, probs = .9)) # A tibble: 3 x 2 cyl quant90 1 4 32.4 2 6 21.2 3 8 18.3
مصادر إضافية
يمكنك العثور على وثائق حزمة dplyr الكاملة بالإضافة إلى أوراق الغش المرئية المفيدة هنا .
تتضمن الوظائف المفيدة الأخرى التي يمكنك استخدامها مع group_by() و Summary() وظائف لتصفية صفوف إطار البيانات وترتيبها بترتيب معين .