2016-06-16 15 views
3

それぞれ8つの変数の2つのセットがあります。私は各リストの最初(2番目、3番目など)の要素を掛けて、その製品を合計したいと思います。これまでのところ私の試みはこれです:SPSS:変数の2つのリストを掛ける方法

DO REPEAT 
    set1 = var1 to var8. 
    set2 = varA to VarH. 
    compute sum_of_products = SUM(set1 * set2). 
END REPEAT. 
EXECUTE. 

私は(大体ドイツ語から翻訳)され得るエラー:

エラーコード4285を行38文字列に:

間違った変数名SET2:名前が64文字より長いか、前のコマンドで定義されていません。

このコマンドの実行は停止されています。

私の問題は、私のDO REPEATが適切にコマンドを囲んでいないと仮定しますが、ドキュメンタリーやGoogle検索で適切なソリューションを管理することができませんでした。これらの繰り返しとループは本当に私に頭痛を与えます..

私はあなたの助けを願い、事前にありがとう。 乾杯、David。

答えて

2

あなたは非常に接近しています。

* Generate mock data*. 
INPUT PROGRAM. 
NUMERIC ID S1_1 TO S1_8 S2_1 TO S2_8 (F3.1). 
LOOP ID=1 TO 10. 
    DO REPEAT S1=S1_1 TO S1_8 /S2=S2_1 TO S2_8. 
    COMPUTE S1=RND(RV.F(3,10)). 
    COMPUTE S2=RND(RV.F(3,10)). 
    END REPEAT. 
END CASE. 
END LOOP. 
END FILE. 
END INPUT PROGRAM. 


DO REPEAT S1=S1_1 TO S1_8 /S2=S2_1 TO S2_8 /S=#S_1 TO #S_8. 
    COMPUTE S=(S1*S2). 
END REPEAT. 
COMPUTE PS=SUM(#S_1 TO #S_8). 
2

は、DO REPEATコマンドの正しい構文を参照してください。

compute sum_of_products=0. 
DO REPEAT set1 = var1 to var8 /set2 = varA to VarH. 
    compute sum_of_products = sum(sum_of_products , (set1 * set2)). 
END REPEAT. 
EXECUTE. 
+0

注記のいずれかに欠落データを持つ場合について欠落割り当てられる派生変数になり 'SUM'機能上加算(' '+)演算子を使用して、下記溶液で模擬例えばデータセットであります変数は計算に使用されます。ミスヒットしたにもかかわらず製品合計値を導出したい場合、単に「SUM」機能を使用するだけでこれを軽減することができる。 –

+0

@Jignesh Sutarあなたは正しいです、ここで 'sum'を使うのが良い考えです。それに応じて私の答えを編集しました。 –

+0

お返事ありがとう!商品の合計を計算するのではなく、set2が特定の条件を満たす場合(set2> 1の場合のみset1の値を追加するなど)、set1のすべての値を加算するとどうでしょうか。 – Dekay

関連する問題