我有一个空数据集,例如
a b c d
我希望插入一个空白记录作为第一个和唯一的记录。我试过每一个想法,但没有工作。
答案 0 :(得分:2)
当你说你有一个空数据集时,你的意思是它有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将读取文件结束标记。
答案 1 :(得分:1)
这是一种使用数据集选项的方法。在源数据集上使用OBS=0
获取变量定义,并在其他数据集(如SASHELP.CLASS)上获取OBS=1
和DROP=_ALL_
以获得一个观察值,但不会有其他变量。
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_;