كيفية حساب القيم المميزة باستخدام dplyr (مع أمثلة)
يمكنك استخدام أي من الطرق التالية لحساب عدد القيم المميزة في إطار بيانات R باستخدام وظيفة dplyr ‘s n_distinct() :
الطريقة الأولى: حساب القيم المميزة في عمود
n_distinct(df$column_name)
الطريقة الثانية: حساب القيم المميزة في كافة الأعمدة
sapply(df, function (x) n_distinct(x))
الطريقة الثالثة: حساب القيم المميزة حسب المجموعة
df %>% group_by (grouping_column) %>% summarize (count_distinct = n_distinct(values_column))
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا مع إطار البيانات التالي:
library (dplyr)
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(6, 6, 8, 10, 9, 9, 12, 12),
assists=c(3, 6, 4, 2, 4, 5, 5, 9))
#view data frame
df
team points assists
1 to 6 3
2 to 6 6
3 to 8 4
4 to 10 2
5 B 9 4
6 B 9 5
7 B 12 5
8 B 12 9
الطريقة الأولى: حساب القيم المميزة في عمود
يوضح التعليمة البرمجية التالية كيفية استخدام n_distinct() لحساب عدد القيم المميزة في عمود “الفريق”:
#count distinct values in 'team' column
n_distinct(df$team)
[1] 2
هناك قيمتان مميزتان في عمود “الفريق”.
الطريقة الثانية: حساب القيم المميزة في كافة الأعمدة
يوضح الكود التالي كيفية استخدام الدالتين sapply() و n_distinct() لحساب عدد القيم المميزة في كل عمود من إطار البيانات:
#count distinct values in every column
sapply(df, function (x) n_distinct(x))
team points assists
2 5 6
ومن النتيجة يمكننا أن نرى:
- هناك قيمتان مميزتان في عمود “الفريق”.
- هناك 5 قيم مميزة في عمود “النقاط”.
- هناك 6 قيم مميزة في عمود “المساعدات”.
الطريقة الثالثة: حساب القيم المميزة حسب المجموعة
يوضح الكود التالي كيفية استخدام الدالة n_distinct() لحساب عدد القيم المميزة لكل مجموعة:
#count distinct 'points' values by 'team'
df %>%
group_by (team) %>%
summarize (distinct_points = n_distinct(points))
# A tibble: 2 x 2
team distinct_points
1 to 3
2 B 2
ومن النتيجة يمكننا أن نرى:
- هناك 3 قيم نقاط مميزة للفريق أ.
- هناك قيمتان منفصلتان للنقاط للفريق B.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إجراء عمليات شائعة أخرى باستخدام dplyr:
كيفية إعادة ترميز القيم باستخدام dplyr
كيفية استبدال NA بصفر في dplyr
كيفية فرز المتغيرات حسب المجموعة باستخدام dplyr
كيفية تحديد الصف الأول حسب المجموعة باستخدام dplyr