sas将空白原始数据插入空数据集
我有一个空数据集,例如sas将空白原始数据插入空数据集,sas,blank-line,Sas,Blank Line,我有一个空数据集,例如 a b c d 我想插入一条空白记录作为第一条也是唯一一条记录。我尝试了所有的想法,但没有奏效 当你说你有一个空数据集时,你是说它有0条记录,比如: data have; a=.; b=.; stop; run; ??如果是这样,则下面将创建一个具有相同变量且缺少所有值的单记录数据集: data want; if 0 then set have; output; stop; run; 如果为0,则设置为have语句用于将HAVE中的所有变量添
a b c d
我想插入一条空白记录作为第一条也是唯一一条记录。我尝试了所有的想法,但没有奏效 当你说你有一个空数据集时,你是说它有0条记录,比如:
data have;
a=.;
b=.;
stop;
run;
??如果是这样,则下面将创建一个具有相同变量且缺少所有值的单记录数据集:
data want;
if 0 then set have;
output;
stop;
run;
如果为0,则设置为have代码>语句用于将HAVE中的所有变量添加到程序数据向量中,以便将它们输出到所需的位置。如果你有设置
如果没有if 0 then
部分,则当执行SET语句时,该步骤将停止,因为SAS将读取文件结尾标记。当您说您有一个空数据集时,您的意思是它有0条记录,类似于:
data have;
a=.;
b=.;
stop;
run;
??如果是这样,则下面将创建一个具有相同变量且缺少所有值的单记录数据集:
data want;
if 0 then set have;
output;
stop;
run;
如果为0,则设置为have代码>语句用于将HAVE中的所有变量添加到程序数据向量中,以便将它们输出到所需的位置。如果你有设置
如果没有if 0 then
部分,则在执行SET语句时,该步骤将停止,因为SAS将读取文件结尾标记。以下是使用数据集选项的一种方法。在源数据集上使用OBS=0
获取变量定义,在其他一些数据集(如SASHELP.CLASS)上使用OBS=1
和DROP=\u ALL
获取一个观察值,但不获取其他变量
data want ;
set have(obs=0) sashelp.class(obs=1 drop=_all_);
run;
array _num _numeric_;
array _char_ _character_;
如果您需要从头开始定义它,那么只需运行定义变量的数据步骤,而不执行其他操作。SAS将自动写入一条记录
data want ;
length a b 8;
run;
如果您不喜欢有关未初始化变量的注释,请添加一个或两个数组语句。字符和数字变量各一个
data want ;
set have(obs=0) sashelp.class(obs=1 drop=_all_);
run;
array _num _numeric_;
array _char_ _character_;
下面是一种使用数据集选项的方法。在源数据集上使用OBS=0
获取变量定义,在其他一些数据集(如SASHELP.CLASS)上使用OBS=1
和DROP=\u ALL
获取一个观察值,但不获取其他变量
data want ;
set have(obs=0) sashelp.class(obs=1 drop=_all_);
run;
array _num _numeric_;
array _char_ _character_;
如果您需要从头开始定义它,那么只需运行定义变量的数据步骤,而不执行其他操作。SAS将自动写入一条记录
data want ;
length a b 8;
run;
如果您不喜欢有关未初始化变量的注释,请添加一个或两个数组语句。字符和数字变量各一个
data want ;
set have(obs=0) sashelp.class(obs=1 drop=_all_);
run;
array _num _numeric_;
array _char_ _character_;
您打算如何处理包含一个空行的空数据集?您想要一个同样适用于非空数据集的解决方案吗?对于一个只有一个空行的空数据集,您打算做什么?您想要一个同样适用于非空数据集的解决方案吗?是的,完全正确。非常感谢你!!也许值得一提的是,您必须这样做,以及为什么需要数据;集有;运行代码>无效。您不需要输出;停止代码>语句。SAS非常聪明,可以注意到您不再读取任何新输入,并在写入第一条记录后停止。True@Tom,但我将“由于循环而停止的数据步骤”注释视为错误消息,因此我喜欢显式停止。然后需要明确的输出。我认为<代码>停止/代码>也是必要的。是的,确切地说。非常感谢你!!也许值得一提的是,您必须这样做,以及为什么需要数据;集有;运行代码>无效。您不需要输出;停止代码>语句。SAS非常聪明,可以注意到您不再读取任何新输入,并在写入第一条记录后停止。True@Tom,但我将“由于循环而停止的数据步骤”注释视为错误消息,因此我喜欢显式停止。然后需要明确的输出。我认为<>代码>停止/代码>也是必要的。