需要从SAS中的字符字段中输出数字数据

时间:2015-03-25 13:26:47

标签: sas character substring wildcard

我有一个包含2个变量的数据集:主题ID号和结果。结果是一个字符变量。它是从excel电子表格中读入的。大多数结果都是数字,但有些结果后面有一个字母,它在excel文件中作为脚注。我需要摆脱数字后面的字母,这样我就可以将数据转换为数字进行分析。我怎样才能做到这一点?下面是一些代码,用于创建我正在谈论的结构的示例数据集。

data test;
input id result $ ;
datalines;
1 13 
2 15 
3 20 
4 25c 
5 75 
6 99c 
7 89b 
8 10a 
9 100 
10 67
;
run;

1 个答案:

答案 0 :(得分:3)

查看compressinput函数。

num = input(compress(result, , "dk"), best.); 

input将字符转换为数字,使用您提供的信息解释数据(best.此处)。

compress可用于从字符串中删除某些字符,此处它与d修饰符一起使用以请求排除所有数字,并请求k修饰符保留所选字符而不是删除。

您可能需要稍微调整compress个参数来处理更复杂的情况,例如小数点。