在SAS中,我可以使用什么代码来创建新变量B,该变量仅在特定条件下包含变量A的前三个字符?
以下是变量a的数据点示例:在SAS中,我可以使用什么代码来创建新变量B,该变量仅在特定条件下包含变量A的前三个字符?,sas,Sas,以下是变量a的数据点示例:P8760、B97097、P32417、082709、7290 我想创建变量B,它只包含变量A的前三个字符。我使用以下代码: /******Create new variable B ******/ data want; set have; Length B $3; B = A; run; 但是,我只想创建变量B,其中变量A的第一个字符等于字母p。因此,最后的变量B将只包含数据点:P87和P32 在SAS中如何在这种情况下创建变量B 您可以使用中
P8760、B97097、P32417、082709、7290
我想创建变量B,它只包含变量A的前三个字符。我使用以下代码:
/******Create new variable B ******/
data want;
set have;
Length
B $3;
B = A;
run;
但是,我只想创建变量B,其中变量A的第一个字符等于字母p。因此,最后的变量B将只包含数据点:P87和P32
在SAS中如何在这种情况下创建变量B 您可以使用
中的LIKE
运算符来执行此操作,其中语句:
data want;
set have;
where A LIKE 'P%'; /*%-Wildcard Character*/
B=substr(A,1,3);
run;
或者使用regex
:
data want;
set have;
if prxmatch("/P.*/",A) then do;
B=substr(A,1,3);
output;
end;
run;
变量不包含“数据点”。该变量在数据集的每个观察值上都有一个值。您的意思是数据集只包含这些观察结果吗?或者你的意思是你只是想让变量B在其他观测中丢失?