SAS - Proc手段和搜索的粒度

时间:2016-01-02 07:27:47

标签: syntax statistics sas

我是SAS的新手,希望我的搜索更精细。

在这个例子中,我希望我的输出显示变量SalesPrice,并且只显示具有CentralAir(另一个变量)的变量。我想显示另一个变量的统计数据。在这种情况下,我想仅在变量超过7并且观察结果为'1FAM'作为其BldgType(这是另一个变量)时才查看OverallQal变量。

我理解我的语法不正确。任何指导将不胜感激。谢谢!

proc means data=MYDATA.AMES_HOUSING_DATA n nmiss p1 p10 q1 mean q3 p90 stddev median;
var SalePrice if (CentralAir = 'Y');
var OverallQual if (OverallQual GT 7 AND BldgType = '1FAM');
run;

1 个答案:

答案 0 :(得分:2)

使用WHERE语句(或WHERE=数据集选项)来限制proc使用的记录。但是,每个过程只能使用一个WHERE子句,因此需要运行两次才能选择两组不同的记录。您还可以使用PROC UNIVARIATE来获取变量分布的摘要。

proc univariate data=MYDATA.AMES_HOUSING_DATA ;
  where CentralAir = 'Y';
  var SalePrice;
run;
proc univariate data=MYDATA.AMES_HOUSING_DATA ;
  where OverallQual GT 7 AND BldgType = '1FAM' ;
  var OverallQual ;
run;