3

SAS で既に作成されたデータセットに新しい観測を追加する方法は? たとえば、変数「x」と「y」を持つデータセット「dataX」があり、観測番号 n の 2 を掛けた新しい観測を追加したい場合、どうすればよいですか?

データ X :
xy
1 1
1 21
2 3

作成したい:

データ X :
xy
1 1
1 21
2 3
10 210

ここで、観測番号 4 は、観測番号 2 の 10 倍です。

4

4 に答える 4

5
data X;
input x y;
datalines;
1 1
1 21
2 3 
;
run;



data X ;
set X end=eof;
if eof then do;
output;
x=10 ;y=210;
end;
output;
run;
于 2014-06-05T12:46:39.813 に答える
4

これを行う 1 つの方法を次に示します。

data dataX;
   input x y;
   datalines;
1 1
1 21
2 3
run;

/* Create a new observation into temp data set */
data _addRec;
  set dataX(firstobs=2); /* Get observation 2 */
   x = x * 10;  /* Multiply each by 10 */
   y = y * 10;
   output;      /* Output new observation */
   stop;
run;

/* Add new obs to original data set */
proc append base=dataX data=_addRec;
run;

/* Delete the temp data set (to be safe) */
proc delete data=_addRec;
run;
于 2013-02-04T14:03:59.510 に答える
0

マクロを使用して、目的の結果を得ることができます。

  1. DataSet最初に読み取り_n_=2、xとyに10を掛けるマクロを記述します。

  2. その後DataSet、複数の値のみを保持する別の値を作成x'=10xしますy'=10y

  3. DataSet元のデータセットと新しく作成されたデータセットを設定する別のマクロの両方を渡します。

論理的には、値を使用して別のデータセットを作成し10x10yその後、前のデータセットで設定する必要があります。

これがお役に立てば幸いです。

于 2013-02-04T12:44:09.450 に答える