在SAS中,我如何使proc意味着使用我定义的信息来创建统计数据?

在SAS中,我如何使proc意味着使用我定义的信息来创建统计数据?,sas,Sas,我希望上面的代码给我变量a的平均值为1。但它不是,在proc中意味着它似乎不想使用我定义的格式。是否有一个选项可以让它工作?格式和信息不能这样工作。在传入数据保存到sas数据集中之前,信息提供者会更改传入数据。格式会更改为输出显示数据的方式,但基础数据保持不变。此外,格式不适用于计算 你可以试试这样的吗 data abc; a = 1; output; a = 99; output; run; proc format; invalue abc 99 = . oth

我希望上面的代码给我变量a的平均值为1。但它不是,在proc中意味着它似乎不想使用我定义的格式。是否有一个选项可以让它工作?

格式和信息不能这样工作。在传入数据保存到sas数据集中之前,信息提供者会更改传入数据。格式会更改为输出显示数据的方式,但基础数据保持不变。此外,格式不适用于计算

你可以试试这样的吗

data abc;
  a = 1; output;
  a = 99; output;
run;

proc format; 
  invalue abc
    99 = .
    other = _same_;

      value abc
    99 = .
    other = _same_;
run;


proc means data = abc;
    format a abc.;
    informat a abc.;
    var a;
run;

据我所知,格式将用于显示值。格式不考虑任何分析。


SD.

请记住,您可以使用proc means或proc summary中的format语句应用于CLASS语句中的变量,以确定如何对它们进行分组(除非/group INTERNAL选项应用于CLASS语句)。例如,下面的代码将日期值分组到每月存储桶中:proc意味着数据=DailyNumber;将my_date_字段分类;格式化“我的日期”字段“月份”。;var销售;输出=smry和=;跑
data abc;
  a = 1; output;
  a = 99; output;
run;

data def;
  set abc;
  if a = 99 then a = .N;
run;

proc means data = def;
    var a;
run;