2017-01-29 7 views
1

は、次の形式の非常に巨大なテーブル(例えばスニペット)を考える:変数が変更されて繰り返されるまでの平均行数の計算方法は?

Subject, Condition, VPH, Task, Round, Item, Decision, Self, Other, RT 1, 1, 1, SVO, 0, 0, 4, 2.5, 2.0, 8.598 1, 1, 1, SVO, 1, 5, 3, 4.1, 3.4, 7.785 1, 1, 1, SVO, 2, 4, 3, 3.2, 3.4, 15.713 2, 2, 1, SVO, 0, 0, 4, 2.5, 2.0, 15.439 2, 2, 1, SVO, 1, 2, 7, 4.9, 2.3, 30.777 2, 2, 1, SVO, 2, 3, 8, 4.3, 4.3, 13.549 3, 3, 1, SVO, 0, 0, 5, 2.8, 1.5, 9.066 ...(など)

必要

を:各被験者のための自己と他者のために、すべての回のラウンドでの平均を計算します。私はこれまで持って何

: 私は主題そうbash sortの使用についての100メガバイト.txtファイルをソートし、(例が示すように)関連のラウンドはお互いの後に表示されます。その後、.txtファイルをSPSS24にインポートしました。今私は3つのラウンドにわたる変数selfおよび他のものの平均を各対象について計算する関数を書くことを知らない。例えば:(いくつかの擬似コード)

for n = 1 to last_subject do: get row self where lines have line_subject as n compute mean over these content write result as new variable self_mean as new variable after variabel RT at line n increase n by one

私はSPSSに全く新しいです、私は本当に詳細なヘルプを感謝しています。私はまた、特に行の計算に関わる参照に満足しています(私は列の上にたくさんのものを見つけました)。

ありがとうございました!

編集:テーブルを計算した後の出力例 は次のようになります。 mean(2.5 + 4.1 + 3.2) 場所:

Subject, Mean_Self, Mean_Others 1, 3.27, 2.9 2, ..., ... 3,
...
(など) は、だから今、私たちはそのようなトップの例からMean_Selfを計算します:
2.5はVariable Selfの1行目から使用された 4.1はVariable Selfの2行目から使用されました012 3.216はVariable Selfの3行目から使用されました

2.5はVariable Subjectが変更されたため、Variable Selfの4行目で使用されたではなくでした。新しいSubject(ここでは2)でプロセスを繰り返す必要があります。結果は、上記のようなテーブルを作成する必要があります。 Variable Otherについても同じ手順です。

+0

予想される出力の例をいくつか追加することで、達成しようとしていることをよりよく理解するのに役立ちます。 –

+0

こんにちは、eli-kさん、ご協力いただきありがとうございます。私は出力例を追加します、ちょうど私に瞬間を与えてください:) – Chrizzldi

答えて

1

私が必要としていることが分かっているのであれば、aggregateコマンドです。 aggregateはあなたの集計データと新しいデータセット/ファイルを作成するか、またはあなたは、上述のように、あなたのアクティブなデータセットに集約されたデータを追加することができます。

AGGREGATE 
    /OUTFILE=* MODE=ADDVARIABLES 
    /BREAK=Subject 
    /Self_mean=MEAN(Self) 
    /Other_mean=MEAN(Other). 

新しい、別の田部の新しい変数を取得するためには、見て他のAGGREGATEオプション、例えば/OUTFILE=*(削除するMODE=ADDVARIABLES)は、新しい集計データを元のファイルに置き換え、/OUTFILE="path/filename"は集計データをファイルに保存します。

+0

こんにちはエリーkはあなたの助けに感謝します。悲しいことに、あなたの例が助けになるかどうかは分かりません。私はどのように結果をもたらすべきかの例で私の質問を更新しました。 – Chrizzldi

+0

さて、私は構文の一歩を踏み出し、ありがとうと言わなければなりません!あなたの答えistので驚くほど右、ありがとう! – Chrizzldi

+0

お寄せください。あなたの編集に他のオプションを加えるために作ったいくつかの追加を見てください。 –

関連する問題