كيفية المقارنة بين متجهين في لغة r (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي لمقارنة متجهين في R:
#check if two vectors are identical identical(vector_1, vector_2) #display items that are in both vectors intersect(vector_1, vector_2) #display items that are only in first vector, but not in second vector setdiff(vector_1, vector_2)
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
مثال 1: تحقق مما إذا كان هناك متجهان متماثلان
يوضح التعليمة البرمجية التالية كيفية استخدام الدالةتطابق () للتحقق مما إذا كان هناك متجهان متطابقان:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#check if two vectors are identical
identical(vector_1, vector_2)
[1] FALSE
المتجهان غير متطابقين، لذلك يتم إرجاع القيمة FALSE .
مثال 2: ابحث عن العناصر الموجودة في كلا المتجهين
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة intersect() لعرض العناصر الموجودة في كلا المتجهين:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in both vectors
intersect(vector_1, vector_2)
[1] “Bob” “Carl” “Doug”
يتم عرض العناصر الثلاثة الموجودة في كلا المتجهين.
يمكننا أيضًا استخدام الدالة length() إذا أردنا ببساطة معرفة عدد العناصر الموجودة في المتجهين:
#find how many items exist in both vectors
length(intersect(vector_1, vector_2))
[1] 3
توجد ثلاثة عناصر في كلا المتجهين.
مثال 3: ابحث عن العناصر الموجودة فقط في متجه واحد
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة setdiff() لعرض العناصر الموجودة في المتجه الأول، ولكن ليس في المتجه الثاني:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in first vector, but not in second vector
setdiff(vector_1, vector_2)
[1] “Andy”
يوجد عنصر واحد بالضبط في المتجه الأول غير موجود في المتجه الثاني.
يمكننا عكس المتجهين لتحديد العناصر الموجودة في المتجه الثاني، ولكن ليس في الأول:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in second vector, but not in first vector
setdiff(vector_2, vector_1)
[1] “Ethan” “Fred”
يوجد عنصران في المتجه الثاني غير موجودين في الأول.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية مقارنة عمودين في R
كيفية مقارنة السلاسل في R
كيفية إضافة قيم إلى المتجه باستخدام حلقة في R