【问题标题】:Grouping range columns in SAS EGSAS EG 中的分组范围列
【发布时间】:2022-01-07 11:00:41
【问题描述】:
我正在将数据导入 SAS,该数据按货币价值分为几列。列中的数据是属于该类别的人数。
Income_0-50K Income_50-100K Income_100K+
5 10 5
导入后,我想将原始数据分成两列,如下所示:
Income_0_100K Income_100K+
15 5
如何使用 PROC SQL 执行此操作?
【问题讨论】:
标签:
sas
proc-sql
enterprise-guide
【解决方案1】:
您想要的术语是创建一个计算字段。
proc sql;
select name, age, sex,
(703*weight/(height**2)) as bmi
from sashelp.class;
quit;
你select直接计算,所以在我的例子中计算是703*weight/(height**2),然后你添加as [name],用你想要的新列名替换[name]。
如果您不希望将原始变量存储在新数据集上,只需将它们从 select 中排除,就像我在上面所做的那样。如果你想使用select *但仍然想排除变量,你可以drop他们:
proc sql;
create table bmi(drop=height weight) as
select *,
(703*weight/(height**2)) as bmi
from sashelp.class;
quit;