从单个原始数据记录创建多个观测值
在处理数据时,我们常常会遇到原始数据文件在一个记录中包含多个观测数据的情况。为了减少整个数据文件的大小,数据可能会以这种方式存储。下面将介绍几种处理原始数据的技术,这些技术基于数据的排列方式。
读取重复数据块
读取重复数据块的基础
假设文件Tempdata中的每个记录包含三个数据块,每个数据块包含一个日期,随后是美国南部一个小城市当天的最高气温。我们有两种处理方式:
- 编写一个DATA步骤,读取每个记录并创建三个不同的Date和Temp变量。
- 为记录中的每个数据块创建一个单独的观测值。这种数据集的结构更适合使用 SAS 过程进行分析和报告。
使用行保持说明符保持当前记录
为了让INPUT语句能够读取同一记录中的重复数据块,并让 SAS 生成输出,我们需要保持当前记录。这可以通过在INPUT语句中使用行保持说明符轻松实现。SAS 提供了两种行保持说明符:
- 尾随 @ 符号(@):为下一个INPUT语句的执行保持输入记录。
- 双尾随 @ 符号(@@):即使在DATA步骤的多次迭代中,也为下一个INPUT语句的执行保持输入记录。
需要注意的是,“尾随”表示