Sas:过滤包含字符串的行


您可以使用以下方法来过滤 SAS 数据集以查找包含特定字符串的行:

方法 1:过滤包含特定字符串的行

 /*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;

方法 1:过滤包含特定字符串的行

以下代码显示如何过滤数据集以查找team列中包含字符串“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”的行。

方法 2:过滤包含多个字符串之一的行

以下代码显示如何在数据集中筛选球队列中包含字符串“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中如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注