كيفية استخدام الدالة setdiff في لغة r (مع أمثلة)
يمكن استخدام الدالة setdiff() في R للعثور على الاختلافات بين مجموعتين. تستخدم هذه الوظيفة بناء الجملة التالي:
سيتدف (س، ص)
ذهب:
- x، y: متجهات أو إطارات بيانات تحتوي على سلسلة من العناصر
يقدم هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.
مثال 1: Setdiff مع المتجهات الرقمية
يوضح التعليمة البرمجية التالية كيفية استخدام setdiff() لتحديد جميع القيم في المتجه a والتي لا تظهر في المتجه b :
#definevectors a <- c(1, 3, 4, 5, 9, 10) b <- c(1, 2, 3, 4, 5, 6) #find all values in a that do not occur in b setdiff (a,b) [1] 9 10
هناك قيمتان تظهران في المتجه a ولا تظهران في المتجه b : 9 و 10 .
إذا قمنا بعكس ترتيب المتجهات في الدالة setdiff() ، فيمكننا بدلاً من ذلك تحديد جميع القيم في المتجه b التي لا تظهر في المتجه a :
#find all values in b that do not occur in a setdiff (b,a) [1] 2 6
هناك قيمتان تظهران في المتجه b ولا تظهران في المتجه a : 2 و 6 .
مثال 2: Setdiff مع متجهات الأحرف
يوضح التعليمة البرمجية التالية كيفية استخدام setdiff () لتحديد كافة القيم في متجه char1 التي لا تظهر في ناقل char2 :
#define character vectors char1 <- c('A', 'B', 'C', 'D', 'E') char2 <- c('A', 'B', 'E', 'F', 'G') #find all values in char1 that do not occur in char2 setdiff (char1, char2) [1] “C” “D”
مثال 3: Setdiff مع إطارات البيانات
يوضح التعليمة البرمجية التالية كيفية استخدام setdiff () لتحديد جميع القيم الموجودة في عمود إطار البيانات والتي لا تظهر في نفس العمود لإطار البيانات الثاني:
#define data frames df1 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 94, 104)) df2 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 98, 99)) #find differences between the points columns in the two data frames setdiff (df1$points, df2$points) [1] 94 104
يمكننا أن نرى أن القيمتين 94 و 104 تظهران في عمود النقاط بإطار البيانات الأول، ولكن ليس في عمود النقاط بإطار البيانات الثاني.
مصادر إضافية
كيفية جمع أعمدة محددة في R
كيفية جمع صفوف محددة في R
كيفية إجراء مطابقة السلسلة الجزئية في R