كيفية مقارنة السلاسل في r (3 أمثلة)


يمكنك استخدام الطرق التالية لمقارنة السلاسل في R:

الطريقة الأولى: مقارنة سلسلتين

 #case-sensitive comparison
string1 == string2

#case-insensitive comparison
tolower (string1) == tolower (string2)

الطريقة الثانية: مقارنة متجهي السلسلة

 #case-sensitive comparison
identical(vector1, vector2)

#case-insensitive comparison
identical( tolower (vector1), tolower (vector2))

الطريقة الثالثة: البحث عن أوجه التشابه بين متجهي السلسلة

 #find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]  

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.

مثال 1: تحقق مما إذا كان هناك متجهان متماثلان

يوضح التعليمة البرمجية التالية كيفية مقارنة سلسلتين في R لتحديد ما إذا كانت متساوية:

 #define two strings
string1 <- "Mavericks"
string2 <- "mavericks"

#case-sensitive comparison
string1 == string2

[1] FALSE

#case-insensitive comparison
tolower (string1) == tolower (string2)

[1] TRUE

تقوم المقارنة الحساسة لحالة الأحرف بإرجاع FALSE نظرًا لأن السلسلتين غير متطابقتين تمامًا.

ومع ذلك، فإن المقارنة غير الحساسة لحالة الأحرف ترجع TRUE نظرًا لأن كلا السلسلتين تحتويان على نفس الأحرف بنفس الترتيب، بغض النظر عن حالة الأحرف.

مثال 2: قارن بين متجهين من السلسلة

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

 #define two vectors of strings
vector1 <- c("hey", "hello", "HI")
vector2 <- c("hey", "hello", "hi")

#case-sensitive comparison
identical(vector1, vector2)

[1] FALSE

#case-insensitive comparison
identical( tolower (vector1), tolower (vector2))

[1] TRUE

تُرجع المقارنة الحساسة لحالة الأحرف قيمة FALSE نظرًا لأن المتجهين لا يحتويان على نفس السلاسل تمامًا في نفس الحالة.

ومع ذلك، فإن المقارنة غير الحساسة لحالة الأحرف تُرجع TRUE نظرًا لأن كلا المتجهين يحتويان على نفس السلاسل، بغض النظر عن حالة الأحرف.

مثال 3: إيجاد أوجه التشابه بين متجهين من السلسلة

يوضح التعليمة البرمجية التالية كيفية استخدام عامل التشغيل %in% للعثور على السلاسل الموجودة في أحد المتجهات والتي تنتمي إلى متجه آخر:

 #define two vectors of strings
vector1 <- c("hey", "hello", "greetings")
vector2 <- c("hey", "hello", "hi")

#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]

[1] “hey” “hello”

من النتيجة، يمكننا أن نرى أن السلاسل “hey” و”hello” موجودة في كل من Vector1 وvector2.

ذات صلة: كيفية استخدام عامل التشغيل %in% في R

مصادر إضافية

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

كيفية مقارنة عمودين في R
كيفية مقارنة ناقلين في R
كيفية العثور على موقع الحرف في سلسلة في R
كيفية تحويل المتجهات إلى سلسلة في R

Add a Comment

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