Создайте данные сетки в SAS, используя информацию из другого набора данных

Мне нужно получить набор данных равномерной сетки 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 (все это нужно для построения графика зависимости для регрессионной модели).

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала подсчитайте статистику, которую необходимо использовать.

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;

Другие вопросы по теме