输出数据集中有多少观察值?

时间:2015-11-20 00:08:22

标签: sas

原始数据文件如下:

RANCH,1250,2,1,Sheppard Avenue, "$64,000"
SPLIT,1190,1,1,Rand Street, "$65,850"
CONDON, 1400,2,1,Market Street, "80,050"
TWOSTORY, 1810,4,3,Garris Street, "$107,250"
RANCH, 1500,3,3,Kemble Avenue, "$86,650"
SPLIT, 1615, 4,3, West Drive, "94,450"
SPLIT, 1305, 3,1.5,Graham Avenue, "$73,650"

以下是代码:

data work.condo_ranch;
    infield "file_specificaton" did;
    input style $ @;
    if style = 'CONDO' or style = 'RANCH' then
    input sqfeet bedrooms baths street $ price: dollar10.;
run;

因此,我认为输出数据集包含3个观测值,而正确的答案是输出包含7个观测值。有人告诉我为什么吗?非常感谢您的时间和关注。

2 个答案:

答案 0 :(得分:0)

为什么您希望输出数据集只有3个观察值。 DATA步骤底部有一个隐含的OUTPUT语句。如果你只想输出那些STYLE IN(" CONDO"," RANCH")你可以添加条件输出的记录,例如:

if style = 'CONDO' or style = 'RANCH' then do;
  input sqfeet bedrooms baths street $ price: dollar10.;
  output;
end;

答案 1 :(得分:0)

如果您只想输出样式为CONDO或RANCH的记录,则可以将THEN更改为分号。这会使您的IF语句成为subsetting IF。因此,数据步骤将在该点返回,并且永远不会在步骤结束时运行第二个INPUT或隐含的OUTPUT。