DATA nationalparks;
INPUT @1 ParkName $ 1-21 @23 State $ Year @40 Acreage COMMA9.;
DATALINES;
Yellowstone ID/MT/WY 1872 4,065,493
Everglades FL 1934 1,398,800
Yosemite CA 1864 760,91
Great Smoky Mountains NC/TN 1926 520,269
;
RUN;
此SAS代码未显示正确的结果集。
答案 0 :(得分:0)
如果数据确实在您的代码正在使用的列中,那么您的程序对我来说看起来不错。
确保您没有缩进数据线。还要检查您的编辑器没有用TAB字符替换空格。确保STATE和YEAR始终具有一个值,并且该值不包含任何空格。您可以使用.
标记缺失值,即使对于字符变量STATE也是如此。您可以改为使用列来读取STATE和YEAR,然后空格将被视为丢失。无需为最后一个变量使用格式化的输入,如果添加:
修饰符,则SAS将使用列表模式并调整信息格式上使用的宽度以匹配行中下一个值的宽度。但是如果缺少ACREAGE,请再次使用.
进行标记。或在INPUT语句之前添加INFILE DATALINES TRUNCOVER;
语句。
DATA nationalparks;
INPUT ParkName $ 1-21 State $ 23-30 Year 32-35 Acreage :COMMA.;
*---+----10---+----20---+----30---+----40---+----50;
DATALINES;
Yellowstone ID/MT/WY 1872 4,065,493
Everglades FL 1934 1,398,800
Yosemite CA 1864 760,91
Great Smoky Mountains NC/TN 1926 520,269
;
结果:
Obs ParkName State Year Acreage
1 Yellowstone ID/MT/WY 1872 4065493
2 Everglades FL 1934 1398800
3 Yosemite CA 1864 76091
4 Great Smoky Mountains NC/TN 1926 520269