首页 > 解决方案 > 尾随空白 SAS

问题描述

我正在尝试清理一些数据。在变量“教育水平”下,我有多个关于持有硕士学位的观察结果。例如。“硕士”“硕士学位”“硕士学位”。我将它们组织成一个值:使用 IF-THEN 语句的“硕士学位”。但是,我有另一个条目,其结尾有空格,名为“Masters Degree”,IF-THEN 语句没有提取该条目。我怎样才能减少这个?

我已经研究了一些函数来处理这个问题,比如 TRIM() 但我真的不明白如何实现这些,因为我是 SAS 新手。

这就是我一直在尝试整理用于先前变量的数据和格式的方式:

data libref.name;
  set libref.name;

  if Var1 = "Masters" then Var1 = "Masters Degree";

  if Var1 = "Master's" then Var1 = "Masters Degree";

  if Var1 = "Master Degree  " then Var1 = "Masters Degree";    
run;

我只是想将“硕士学位”观察结果转换为“硕士学位”

标签: sas

解决方案


这不可能是问题,因为“硕士学位”与“硕士学位”相同

data _NULL_;
    if "Master Degree " = "Master Degree" then put "EQUAL";
    else put "DIFFERENT";
run;

将输出:

8    data _NULL_;
9        if "Master Degree " = "Master Degree" then put "EQUAL";
10       else put "DIFFERENT";
11   run;

EQUAL
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds

这是因为 SAS 通过比较忽略任何尾随空格。那是因为当您将字符串连接到比该变量短的变量时,SAS 会附加尾随空格。

但是您说另一个是“硕士学位”,这与“硕士学位”不同


推荐阅读