我有一个空数据集,例如
a b c d
我想插入一条空白记录作为第一条也是唯一一条记录。我尝试了每一个想法,但没有工作。
当您说您有一个空数据集时,您的意思是它有 0 条记录,例如:
data have;
a=.;
b=.;
stop;
run;
? 如果是这样,那么下面将创建一个 1 记录数据集,该数据集具有相同的变量,并且所有值都缺失:
data want;
if 0 then set have;
output;
stop;
run;
该if 0 then set have;
语句用于将 HAVE 中的所有变量添加到程序数据向量中,以便将它们输出到 WANT。如果您没有set have;
该if 0 then
部分,则该步骤将在执行 SET 语句时停止,因为 SAS 将读取文件结束标记。
这是一种使用数据集选项的方法。在您的源数据集上使用OBS=0
以获取变量定义,OBS=1
并DROP=_ALL_
在其他一些数据集(如 SASHELP.CLASS)上使用以获取一个观察结果,但没有其他变量。
data want ;
set have(obs=0) sashelp.class(obs=1 drop=_all_);
run;
如果您需要从头开始定义它,那么只需运行一个定义变量的数据步骤,但不执行其他任何操作。SAS 会自动写入一条记录。
data want ;
length a b 8;
run;
如果您不喜欢关于未初始化变量的注释,请添加一两个 ARRAY 语句。字符和数字变量各一个。
array _num _numeric_;
array _char_ _character_;