كيفية استخدام الدالة compress في sas (مع أمثلة)


يمكنك استخدام الدالة COMPRESS في SAS لإزالة أحرف معينة من سلسلة.

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

ضغط (سلسلة، أحرف المراد إزالتها)

ذهب:

  • السلسلة : السلسلة المراد تحليلها
  • الأحرف المراد إزالتها : حرف واحد أو أكثر محدد لإزالته من السلسلة

فيما يلي الطرق الأربع الأكثر شيوعًا لاستخدام هذه الميزة:

الطريقة الأولى: إزالة كافة المسافات الفارغة من السلسلة

 data new_data;
    set original_data;
    compressed_string = compress (string_variable);
run ;

الطريقة الثانية: إزالة أحرف معينة من السلسلة

 data new_data;
    set original_data;
    compressed_string = compress (string_variable, ' !?@# ');
run ;

الطريقة الثالثة: إزالة كافة الأحرف الأبجدية من السلسلة

 data new_data;
    set original_data;
    compressed_string = compress (string_variable, '', ' a ');
run ;

الطريقة الرابعة: إزالة كافة القيم الرقمية من السلسلة

 data new_data;
    set original_data;
    compressed_string = compress (string_variable, '', ' d ');
run ;

توضح الأمثلة التالية كيفية استخدام كل طريقة مع مجموعة البيانات التالية في SAS:

 /*create dataset*/
data original_data;
    input name $25.;
    datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;

/*view dataset*/
proc print data = original_data; 

مثال 1: إزالة كافة المسافات الفارغة من السلسلة

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

 /*remove blank spaces from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress (name);
run ;

/*view results*/
proc print data =new_data;

لاحظ أنه تمت إزالة كافة المسافات الفارغة من كل سلسلة في العمود الجديد المسمى tablet_name .

المثال 2: إزالة أحرف محددة من السلسلة

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

 /*remove question marks and exclamation points from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress (name, ' ?! ');
run ;

/*view results*/
proc print data =new_data;

لاحظ أنه تمت إزالة كافة علامات الاستفهام والتعجب من كل سلسلة في العمود الجديد المسمى tablet_name .

مثال 3: إزالة كافة الأحرف الأبجدية من السلسلة

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

 /*remove all alphabetical characters from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress (name, '', ' a ');
run ;

/*view results*/
proc print data = new_data;

لاحظ أنه تمت إزالة كافة الأحرف الأبجدية من كل سلسلة في العمود الجديد المسمى tablet_name .

المثال 4: إزالة كافة القيم الرقمية من السلسلة

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

 /*remove all numeric values from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress (name, '', ' d ');
run ;

/*view results*/
proc print data =new_data;

لاحظ أنه تمت إزالة كافة القيم الرقمية من كل سلسلة في العمود الجديد المسمى tablet_name .

مصادر إضافية

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

كيفية استخدام الدالة SUBSTR في SAS
كيفية استخدام وظيفة FIND في SAS
كيفية استخدام وظيفة COALESCE في SAS

Add a Comment

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