1

中央値と平均値を同時に印刷しようとしていますが、このエラーが発生し続けます

警告: ファイル WORK.STATEE1_MARGINS には可変余白が既に存在します。

警告: 重複した変数は、出力ステートメント番号 1 の出力データ セットには含まれません。

proc means data = state1 noprint mean median nway missing;
class ndc;
var margin; 
output out = state1_margins (drop = _type_) median= mean=;
run;

1 つの列に中央値があり、もう 1 つの列に平均がある出力セットが必要です。1 つの proc でこれを行うことはできませんか?

4

2 に答える 2

1

2 つの変数の名前を指定する必要があります。

proc means data = state1 noprint mean median nway missing;
class ndc;
var margin; 
output out = state1_margins (drop = _type_) median= mean= /autoname autolabel;
run;

Autoname は _ にするように指示しますが、通常はこれで問題ありません。明示的に指定することもできます。Autolabel は、ラベルにも統計を追加するように指示します。

proc means data = state1 noprint mean median nway missing;
class ndc;
var margin; 
output out = state1_margins (drop = _type_) median=median_m mean=mean_m;
run;

またはあなたが好むものは何でも。

于 2013-08-08T13:47:08.880 に答える
1

これは、出力変数を指定していないためです。出力変数の名前なしで = を入力すると、デフォルトで操作を適用した変数の名前が使用されます。

1 つの統計のみを要求する場合は問題ありません。しかし、あなたは 2 を要求します。
まず、彼はマージンの中央値を含む変数 margin を作成します。
しかし、その後、平均を含む変数 margin を作成しようとします。しかし、それはその時点ですでに存在しています!

したがって、問題を解決するには、出力変数に別の名前を付けます。

proc means data = state1 noprint mean median nway missing;
    class ndc;
    var margin; 
    output out = state1_margins (drop = _type_) median=median_margin mean=mean_margin;
run;
于 2013-08-08T13:47:29.403 に答える