使用来自另一个数据集的信息在 SAS 中创建网格数据

Create grid data in SAS using info from another dataset

我需要使用来自 SASHELP.CARS 的信息获取统一网格 20x20 的数据集,以便按如下方式获取 xy 变量:

do y = min(weight) to max(weight) by  (min(weight)+max(weight))/20;
    do x =  min(horsepower) to max(horsepower)  by (min(horsepower)+max(horsepower))/20; 
        output;
    end;
end;

WeightHorsePowerSASHELP.CARS的变量。此外,网格数据集还必须有两列 EnginSizeMean LengthMean,每行中的值等于 SASHELP.CARS 中的 mean(EnginSize)mean(Length)(需要所有这些来构建依赖关系图回归模型)。

首先计算出你需要使用的统计数据。

proc summary data=sashelp.cars ;
  var weight horsepower enginesize length ;
  output out=stats
    min(weight horsepower)=
    max(weight horsepower)=
    mean(enginesize length)=
    / autoname
  ;
run;

然后使用这些值生成您的“网格”。

data want;
  set stats;
  do y = 1 to 20 ;
    weight= weight_min + (y-1)*(weight_min+weight_max)/20;
    do x =  1 to 20 ;
      horsepower  =  horsepower_min + (x-1)*(horsepower_min+horsepower_max)/20;
      output;
    end;
  end;
run;