2017-01-20 6 views
2

SPSSでこの機能を実現するのが難しいです。データセットは、この(Excel形式のための謝罪)この例ではSPSSでケースを組み合わせて変数を追加する

enter image description here

ようにフォーマットされ、集約関数は、同じ変数でケースを結合するために使用しました。つまり、この例のCITY、Tampaはブレーク変数です。

残念ながら、タンパの各エントリは、毎日10の固有の温度を示します。したがって、タンパの最初のエントリは0〜10日で、2番目のエントリは10〜20日です。これらは有用な情報を提供します。私は、これらの日を失うのを避けるために、集計関数を使用して新しい変数を作成する方法を理解できません。私はこれをやりたいと思っています。他の都市の0〜20日と比較して、0〜20日でタンパの平均気温をテストできるようにしたいのです。

AGGREGATE 
    /OUTFILE=* MODE=ADDVARIABLES 
    /BREAK=CITY 
    /Temp=Max(Temp). 

しかし、これは、変数を作成していない、と私はその端に開始する場所がわからないんだけど:

私の現在の構文は次のとおりです。私はSPSSのマニュアルをチェックし、この機能をどの機能が許可しているのかについては考えていませんでしたか?

答えて

1

私が正しく理解していれば、すべてのCITY情報を1行に再編成しようとしており、集計していません。だからあなたが探しているものは再構成コマンドcasestovarsです。

まず、上証明するために、いくつかの偽のデータを作成します:

data list list/City (a10) temp1 to temp10 (10f6). 
begin data 
Tampa 10 11 12 13 14 15 16 17 18 19 
Boston 20 21 22 23 24 25 26 27 28 29 
Tampa 30 31 32 33 34 35 36 37 38 39 
NY 40 41 42 43 44 45 46 47 48 49 
Boston 50 51 52 53 54 55 56 57 58 59 
End data. 

casestovarsは、インデックス変数(都市内の行の例えば数)が必要です。あなたの例では、あなたのデータは、インデックスを持っていないので、次のコマンドは、1を作成します。

sort cases by CITY. 
if $casenum=1 or city<>lag(city) IndVar=1. 
if city=lag(city) IndVar=lag(IndVar)+1. 
format IndVar(f2). 

今、私たちは再構築することができます

sort cases by CITY IndVar. 
casestovars /id=CITY /index=IndVar/separator="_"/groupby=index. 

をあなたが都市ごとに複数の行を持っている場合、これも動作します。

重要なお知らせ:私の人工指数(IndVar)は必ずしもファイルの元の行の順序を反映しているとは限りません。ファイルに実際にインデックスがなく、最初の行が最初の測定値などを表すように順序付けられていない場合、再構成されたファイルはそれに応じて並べ替えられません。以前の測定値は、後のもの - 元のファイルでの順序に従います。これを避けるには、実際のインデックスを定義してcasestovarsに使用するようにしてください。

+0

これは完璧です、もう一度あなたの助けに感謝します。それは非常に役立つ、と私のことを理解するのは難しい投稿を理解する時間を取ってくれてありがとう。すてきな一日を!乾杯! – George

0

[実行]または[変換]> [実行中の変換]を実行すると、AGGREGATEコマンドの結果が表示されます。

関連する問題