SAS рассчитать через подмножество массива - PullRequest
0 голосов
/ 28 ноября 2018

На моем шаге данных я хочу вычислить некоторые новые переменные на основе части переменных, которые у меня есть.

Мои данные выглядят так:

         grade1  grade2  grade3  grade4  grade5  grade6
  Linda    68      70      85      78      90      55
   Tim     78      67      80      85      91      66

Я хочу создатьновые столбцы говорят, new_grade1 new_grade2, где

     new_grade(i) = grade(i*3)

Мой код выглядит так:

     data want;
          set old;
          array new_grade[2] new_grade1 new_grade2;
          array grade[6] grade1-grade6;
          do i=1 to 2;
               new_grade(i)=grade(i*3);
          end;
       drop i;
     run;

Этот код не работает, поскольку не используются классы 1,2,4,5.Есть ли способ, которым я могу использовать только класс 3 и класс 6, вместо присвоения массива 1-6?

Я хочу, чтобы мой вывод был таким:

         grade1 grade2 grade3 grade4 grade5 grade6  new_grade1 new_grade2
  Linda    68    70      85     78    90      55        85          55
   Tim     78    67      80     85    91      66        80          66

Спасибо!

1 Ответ

0 голосов
/ 28 ноября 2018

Вы пробовали код, который вы разместили?Он работает правильно (при изменении последнего end; на требуемый run;)

...