sas将空白原始插入到null数据集中

时间:2016-05-25 16:22:05

标签: sas blank-line

我有一个空数据集,例如

a b c d

我希望插入一个空白记录作为第一个和唯一的记录。我试过每一个想法,但没有工作。

2 个答案:

答案 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=1DROP=_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_;