كيفية تعيين إطار بيانات فرعيًا في r (4 أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي لتعيين إطار بيانات فرعيًا في R:
df[rows, columns]
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا مع إطار البيانات التالي:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 C 97 14
مثال 1: إطار بيانات المجموعة الفرعية عن طريق تحديد الأعمدة
يوضح التعليمة البرمجية التالية كيفية تعيين إطار بيانات فرعيًا حسب أسماء الأعمدة:
#select all rows for columns 'team' and 'assists'
df[, c(' team ', ' assists ')]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
يمكننا أيضًا تعيين إطار بيانات فرعيًا حسب قيم فهرس الأعمدة:
#select all rows for columns 1 and 3
df[, c(1, 3)]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
مثال 2: إطار بيانات المجموعة الفرعية باستثناء الأعمدة
يوضح التعليمة البرمجية التالية كيفية تعيين إطار بيانات فرعيًا عن طريق استبعاد أسماء أعمدة محددة:
#define columns to exclude
cols <- names(df) %in% c(' points ')
#exclude points column
df[!cols]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
يمكننا أيضًا استبعاد الأعمدة باستخدام قيم الفهرس
#exclude column 2
df[, c(-2)]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
مثال 3: إطار بيانات المجموعة الفرعية عن طريق تحديد الصفوف
يوضح التعليمة البرمجية التالية كيفية تعيين إطار بيانات فرعيًا بواسطة صفوف محددة:
#select rows 1, 5, and 7 df[c(1, 5, 7), ] team points assists 1 A 77 19 5 C 99 32 7 C 97 14
يمكننا أيضًا تعيين إطار بيانات فرعيًا عن طريق تحديد نطاق الصف:
#select rows 1 through 5 df[1:5, ] team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32
مثال 4: إطار بيانات المجموعة الفرعية بناءً على الشروط
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة subset() لتحديد الصفوف والأعمدة التي تستوفي شروطًا معينة:
#select rows where points is greater than 90
subset(df, points > 90)
team points assists
5 C 99 32
6 C 92 39
7 C 97 14
يمكننا أيضًا استخدام | عامل التشغيل (“أو”) لتحديد الصفوف التي تستوفي أحد الشروط التالية:
#select rows where points is greater than 90 or less than 80
subset(df, points > 90 | points < 80)
team points assists
1 A 77 19
5 C 99 32
6 C 92 39
7 C 97 14
يمكننا أيضًا استخدام عامل التشغيل & (“and”) لتحديد الصفوف التي تستوفي شروطًا متعددة:
#select rows where points is greater than 90 and assists is greater than 30
subset(df, points > 90 & assists > 30)
team points assists
5 C 99 32
6 C 92 39
يمكننا أيضًا استخدام وسيطة التحديد لتحديد أعمدة معينة فقط بناءً على الشرط:
#select rows where points is greater than 90 and only show 'team' column
subset(df, points > 90, select=c(' team '))
team
5C
6C
7C
مصادر إضافية
كيفية إزالة الصفوف من إطار البيانات في R بناءً على الحالة
كيفية استبدال القيم في إطار البيانات في R
كيفية إزالة الأعمدة من إطار البيانات في R