如何将两个变量列表相乘
How to multiply two lists of variables
我有两组,每组 8 个变量。我想将每个列表的第一个(第二个、第三个等)元素相乘并对乘积求和。到目前为止,我的尝试是这样的:
DO REPEAT
set1 = var1 to var8.
set2 = varA to VarH.
compute sum_of_products = SUM(set1 * set2).
END REPEAT.
EXECUTE.
我得到的错误是(大致翻译自德语):
Error code 4285 in row 38. String: set2
Wrong variable name: either name is longer than 64 chars or he is not defined by a previous command.
Execution of this command has been stopped.
我认为问题是,我的 DO REPEAT 没有正确环绕命令,但我无法通过纪录片和 google 搜索来管理正确的解决方案。这些DO REPEATS和LOOPS真让我头疼。
查看 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.
你们很亲近。下面是带有解决方案的模拟示例数据集:
* 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).
我有两组,每组 8 个变量。我想将每个列表的第一个(第二个、第三个等)元素相乘并对乘积求和。到目前为止,我的尝试是这样的:
DO REPEAT
set1 = var1 to var8.
set2 = varA to VarH.
compute sum_of_products = SUM(set1 * set2).
END REPEAT.
EXECUTE.
我得到的错误是(大致翻译自德语):
Error code 4285 in row 38. String: set2
Wrong variable name: either name is longer than 64 chars or he is not defined by a previous command.
Execution of this command has been stopped.
我认为问题是,我的 DO REPEAT 没有正确环绕命令,但我无法通过纪录片和 google 搜索来管理正确的解决方案。这些DO REPEATS和LOOPS真让我头疼。
查看 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.
你们很亲近。下面是带有解决方案的模拟示例数据集:
* 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).