如何使用sas中的anydigit函数
您可以使用 SAS 中的ANYDIGIT函数返回给定字符串中第一个数字的位置。
该函数使用以下基本语法:
ANYDIGIT(表达式, [开始])
金子:
- 表达式:要搜索的字符串
- start(可选) :搜索的起始位置。
下面的例子展示了如何在实际中使用这个功能。
示例:使用 SAS 中的 ANYDIGIT 函数
假设我们在 SAS 中有以下数据集,其中包含有关公司各个员工的信息:
/*create dataset*/
data my_data;
input employeeID $sales;
datalines ;
54AAF 23
0009A 38
BC18B 40
09:30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run ;
/*view dataset*/
proc print data =my_data;
我们可以使用ANYDIGIT函数来查找EmployeeID列中第一个数字的位置:
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID);
run ;
/*view new dataset*/
proc print data = new_data;
名为firstDigit的新列显示EmployeeID列中第一次出现数字的位置。
例如:
- 54AAF 的第一位数字位于位置1 。
- 0009A 的第一个数字位于位置1 。
- BC18B 的第一位数字位于位置3 。
等等。
如果给定员工 ID 没有数字,则返回值0 。
我们还可以使用ANYDIGIT函数中的start参数来指定搜索的起始位置。
例如,我们可以使用以下代码查找EmployeeID列中从位置 3 开始的第一个数字的位置:
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID, 3 );
run ;
/*view new dataset*/
proc print data =new_data;
请注意,前两个位置仅包含字母字符的EmployeeID值现在会在firstDigit列中接收值0 ,因为数字搜索现在从位置3开始。
其他资源
以下教程介绍了如何使用 SAS 中的其他常用函数: