2

配列のサブセットの合計、最大、および/または最小を取得したいと考えています。

SAS では、次のように言えます。

x = max(of v5-v10);

ここで、v5 から v10 は変数です

しかし、次のように言うことはできません。

array v[20];
i = 5;
x = max(of v[i]-v[i+5];

v[i]-v[i+5] が変数の範囲であることを理解していません。それを行う別の方法はありますか?

4

2 に答える 2

5

配列の要素を反復処理できます。

データ最大;
  配列 v{20} ;
  私は= 5;
  vmax = . ;
  do n = i から i+5 ;
    vmax = max(vmax,v{n}) ;
  終わり ;
走る ;

または、必要な要素だけを含む新しい配列を作成します。

%LET I = 5 ;
データ最大;
  配列 v{*} v&I-v%EVAL(&I+5) ;
  vmax = 最大 (v{*} の) ;
走る ;
于 2013-06-19T10:20:03.533 に答える