Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建宏为我的数据集sas中的分类变量创建虚拟变量_Sas - Fatal编程技术网

创建宏为我的数据集sas中的分类变量创建虚拟变量

创建宏为我的数据集sas中的分类变量创建虚拟变量,sas,Sas,我已经编写了以下SAS代码来为所有分类变量创建虚拟变量。然而,代码并没有给出期望的结果 /#在工作库中创建数据集的副本#/ /#获取数据集中变量的名称和类型 proc contents data= model_data out= var_names(keep=name type)noprint; run; /#创建宏以创建虚拟变量编码#/ /#根据类型调用宏并传递数据集名称和变量名称。如果type=2,则它是分类变量#/ 请参阅帖子请参阅帖子我不建议为此使用宏和数据步骤。SAS拥有出色的

我已经编写了以下SAS代码来为所有分类变量创建虚拟变量。然而,代码并没有给出期望的结果

/#在工作库中创建数据集的副本#/

/#获取数据集中变量的名称和类型

proc contents data= model_data out= var_names(keep=name type)noprint;
   run;
/#创建宏以创建虚拟变量编码#/

/#根据类型调用宏并传递数据集名称和变量名称。如果type=2,则它是分类变量#/


请参阅帖子

请参阅帖子

我不建议为此使用宏和数据步骤。SAS拥有出色的解决方案,可以完成所有繁重的工作。简单且记录良好

data nominal;
    infile datalines dsd;
    input hair$ eye$;
datalines;
brown,brown
brown,blue
red,blue
red,brown
;;;;

proc transreg design;
   model class(hair eye / zero=none);
   output out=dummies(drop=_: intercept);
   run;
%put NOTE: Dummies: &=_TRGINDN &=_TRGIND;
proc print;
   run;

我不建议为此使用宏和数据步骤。SAS拥有出色的解决方案,可以完成所有繁重的工作。简单且记录良好

data nominal;
    infile datalines dsd;
    input hair$ eye$;
datalines;
brown,brown
brown,blue
red,blue
red,brown
;;;;

proc transreg design;
   model class(hair eye / zero=none);
   output out=dummies(drop=_: intercept);
   run;
%put NOTE: Dummies: &=_TRGINDN &=_TRGIND;
proc print;
   run;

SAS在大多数需要假人的过程中都有CLASS语句,当您确实需要创建假人时,SAS也有相应的过程。PROC GLMMOD和PROC TRANSREG是良好的起点。什么是不理想的结果?更重要的是,期望的结果是什么?SAS在大多数需要假人的过程中都有CLASS语句,当您确实需要创建假人时,SAS也有相应的过程。PROC GLMMOD和PROC TRANSREG是良好的起点。什么是不理想的结果?更重要的是,期望的结果是什么?
data _null_;
set var_names;
if type=2 then call execute('%cat(model_data,'||name||')');
run;
data nominal;
    infile datalines dsd;
    input hair$ eye$;
datalines;
brown,brown
brown,blue
red,blue
red,brown
;;;;

proc transreg design;
   model class(hair eye / zero=none);
   output out=dummies(drop=_: intercept);
   run;
%put NOTE: Dummies: &=_TRGINDN &=_TRGIND;
proc print;
   run;