【问题标题】: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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多