如何使用PROC SQL将SAS中的多列收入区间统计数据合并为两类?
SAS PROC SQL 合并收入区间列实现方案
假设你的原始数据集名为income_raw,可直接通过SELECT语句对需要合并的区间列做求和运算实现需求,以下是可直接运行的代码:
完整代码
proc sql; create table income_merged as select /* 合并0-50K和50-100K两个区间的人数 */ sum('Income_0-50K'n, 'Income_50-100K'n) as Income_0_100K, /* 直接保留100K以上的区间列 */ 'Income_100K+'n from income_raw; quit;
注意事项说明
- 由于原始列名包含
-、+这类SAS默认不识别为合法变量名的特殊字符,引用时需要使用名称字面量格式'列名'n,否则会触发语法报错 - 如果你的原始数据是按其他维度(如城市、行业)分组的多行行数据,只需在
from语句后增加group by 分组列名即可,比如按城市分组就添加group by city - 运行后生成的
income_merged数据集的输出结果和你要求的完全一致:Income_0_100K Income_100K+ 15 5
内容的提问来源于stack exchange,提问作者Alice Wang
相关产品推荐
相关产品推荐

