Мне нужно получить набор данных равномерной сетки 20x20, используя информацию из SASHELP.CARS
, чтобы переменные x
и y
были получены следующим образом:
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;
Weight
и HorsePower
являются переменными SASHELP.CARS
. Кроме того, набор данных сетки должен иметь еще два столбца EnginSizeMean LengthMean
с одинаковым значением в каждой строке, которое равно mean(EnginSize)
и mean(Length)
из SASHELP.CARS
(все это нужно для построения графика зависимости для регрессионной модели).
Сначала подсчитайте статистику, которую необходимо использовать.
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;