Sas: تصفية الصفوف التي تحتوي على سلسلة
يمكنك استخدام الطرق التالية لتصفية مجموعات بيانات SAS للصفوف التي تحتوي على سلاسل معينة:
الطريقة الأولى: تصفية الصفوف التي تحتوي على سلسلة محددة
/*filter rows where var1 contains "string1"*/
data specific_data;
set original_data;
where var1 contains ' string1 ';
run ;
الطريقة الثانية: تصفية الصف الذي يحتوي على سلسلة واحدة من بين عدة
/*filter rows where var1 contains "string1", "string2", or "string3"*/
data specific_data;
set original_data;
where var1 in (' string1 ', ' string2 ', ' string3 ');
run ;
توضح الأمثلة التالية كيفية استخدام كل طريقة مع مجموعة البيانات التالية في SAS:
/*create dataset*/
data nba_data;
input team $points;
datalines ;
Mavs 95
Spurs 99
Warriors 104
Rockets 98
Heat 95
Nets 90
Magic 99
Cavs 106
;
run ;
/*view dataset*/
proc print data =nba_data;
الطريقة الأولى: تصفية الصفوف التي تحتوي على سلسلة محددة
يوضح التعليمة البرمجية التالية كيفية تصفية مجموعة البيانات للصفوف التي تحتوي على السلسلة “avs” في عمود الفريق :
/*filter rows where team contains the string 'avs'*/ data specific_data; set nba_data; where team contains ' avs '; run ; /*view resulting rows*/ proc print data = specific_data;
السطران الوحيدان الموضحان هما المكان الذي يحتوي فيه عمود الفريق على “avs” في الاسم.
الطريقة الثانية: تصفية الصفوف التي تحتوي على إحدى السلاسل المتعددة
يوضح التعليمة البرمجية التالية كيفية تصفية مجموعة البيانات للصفوف التي تحتوي على السلاسل “Mavs” أو “Nets” أو “Rockets” في عمود الفريق :
/*filter rows where team contains the string 'Mavs', 'Nets', or 'Rockets'*/ data specific_data; set nba_data; where team in (' Mavs ', ' Nets ', ' Rockets '); run ; /*view resulting rows*/ proc print data = specific_data;
تعرض مجموعة البيانات الناتجة الصفوف فقط حيث يحتوي عمود الفريق على إحدى السلاسل الثلاث التي حددناها.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية تطبيع البيانات في SAS
كيفية إعادة تسمية المتغيرات في SAS
كيفية إزالة التكرارات في SAS
كيفية استبدال القيم المفقودة بالصفر في SAS