【问题标题】:Separating Strings with different lengths with SAS使用 SAS 分隔不同长度的字符串
【发布时间】:2016-05-09 09:13:05
【问题描述】:

假设我有数据,例如:

Score
6.2/30
10/30
19/30
3.4/30 

我想将数据分开,这样一列会像 6.2,而另一列会像 30 所以像

Score(1st column):             
6.2                    
10     

Out of(2nd Column):
30

目前我的数据代码如下所示:

DATA grades;
SET Work.grades;
STRING1=grades_MMSE_Score_on_admit;
TEST3 = SUBSTR(STRING1,1,3);
RUN;

PROC PRINT DATA=grades;
VAR TEST3;
RUN;

我可以将其分开,但问题是具有小数的数据点的结束位置不同。我该如何处理这样的数据?

【问题讨论】:

    标签: string sas data-manipulation


    【解决方案1】:

    使用SCAN() 函数。

    score=scan(grades_MMSE_Score_on_admit,1,'/');
    out_of=scan(grades_MMSE_Score_on_admit,2,'/');
    

    但您可能希望将它们转换为数字。

    score=input(scan(grades_MMSE_Score_on_admit,1,'/'),32.);
    out_of=input(scan(grades_MMSE_Score_on_admit,2,'/'),32.);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 2011-02-07
      • 2020-07-04
      • 2020-03-11
      相关资源
      最近更新 更多