كيفية إزالة الصفوف المكررة في لغة r (مع أمثلة)


يمكنك استخدام إحدى الطريقتين لإزالة الصفوف المكررة من إطار البيانات في R:

الطريقة الأولى: استخدم Base R

 #remove duplicate rows across entire data frame
df[ ! duplicated(df), ]

#remove duplicate rows across specific columns of data frame
df[ ! duplicated(df[c(' var1 ')]), ]

الطريقة الثانية: استخدم dplyr

 #remove duplicate rows across entire data frame 
df %>%
  distinct(.keep_all = TRUE )

#remove duplicate rows across specific columns of data frame
df %>%
  distinct(var1, .keep_all = TRUE )

توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا مع إطار البيانات التالي:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward', 'Guard', 'Center', 'Center'))

#view data frame
df

  team position
1A Guard
2 A Guard
3 A Forward
4 B Guard
5B Center
6B Center

مثال 1: إزالة الصفوف المكررة باستخدام Base R

يوضح التعليمة البرمجية التالية كيفية إزالة الصفوف المكررة من إطار البيانات باستخدام وظائف R الأساسية:

 #remove duplicate rows from data frame
df[ ! duplicated(df), ]

  team position
1A Guard
3 A Forward
4 B Guard
5B Center

يوضح التعليمة البرمجية التالية كيفية إزالة الصفوف المكررة من أعمدة محددة في إطار بيانات باستخدام الأساس R:

 #remove rows where there are duplicates in the 'team' column
df[ ! duplicated(df[c(' team ')]), ]

  team position
1A Guard
4 B Guard

المثال 2: إزالة الصفوف المكررة باستخدام dplyr

يوضح التعليمة البرمجية التالية كيفية إزالة الصفوف المكررة من إطار البيانات باستخدام الدالة المميزة () من الحزمة dplyr :

 library (dplyr)

#remove duplicate rows from data frame
df %>%
  distinct(.keep_all = TRUE )

  team position
1A Guard
2 A Forward
3 B Guard
4B Center

لاحظ أن الوسيطة .keep_all تطلب من R الاحتفاظ بجميع الأعمدة في إطار البيانات الأصلي.

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة المميزة () لإزالة الصفوف المكررة من أعمدة محددة في إطار البيانات:

 library (dplyr)

#remove duplicate rows from data frame
df %>%
  distinct(team, .keep_all = TRUE )

  team position
1A Guard
2 B Guard

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف شائعة أخرى في R:

كيفية حذف الصفوف في R بناءً على الحالة
كيفية حذف الصفوف مع NA في عمود معين في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *