sas - 尾随空白 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;
我只是想将“硕士学位”观察结果转换为“硕士学位”
解决方案
这不可能是问题,因为“硕士学位”与“硕士学位”相同
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 会附加尾随空格。
但是您说另一个是“硕士学位”,这与“硕士学位”不同
推荐阅读
- python - pandas - 多张大纸上的 read_excel 效率
- python - 如果其他特定列与变量匹配,则更新数据库列
- regex - 值不是有效的 XML 正则表达式
- java - 字符串频率搜索未找到所有单词
- powershell - 排除任何基于关键字的发现
- .net - User.Identity.IsAuthenticated 被检查两次?
- c++ - 您好,函数上的程序(通过引用/按值传递),我不完全确定我的程序有什么问题
- authorization - 公理 - 条件编辑器
- ruby - 用ruby中的数字和字符对字符串数组进行排序
- c - Makefile 在子文件夹中找不到文件