如何计算行的平均值直到变量变化并重复?

时间:2017-01-29 10:58:22

标签: spss

给出了以下格式的巨大表格(例如代码段):

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 ...(依此类推)

需要:计算每个科目的自我和他人的所有轮次的平均值。

到目前为止我所拥有的: 我使用.txt对大约100mb bash sort文件进行了排序,因此主题和相关轮次相互出现(如示例所示)。之后我将.txt文件导入SPSS24。现在我不知道写一个函数来计算每个主题的变量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的新手,我非常感谢您的详细帮助。我也很满意专门参与行计算的参考文献(我在列上发现了很多东西)。

非常感谢!

编辑:示例输出 计算完表后应如下所示:

Subject, Mean_Self, Mean_Others 1, 3.27, 2.9 2, ..., ... 3,
...
(依此类推) 所以现在我们从顶部示例计算Mean_Self,如下所示: mean(2.5 + 4.1 + 3.2)其中: 2.5用于变量自我的第1行 4.1从变量自我的第2行使用 3.2从变量自我的第3行使用

2.5 用于变量自我的第4行,因为变量主题发生了变化,我们希望用新的主题(此处为2)重复该过程,直到它再次发生变化。结果应该创建一个类似上面的表。变量其他的相同过程。

1 个答案:

答案 0 :(得分:1)

如果我理解你需要的是this命令。 aggregate可以使用您的汇总数据创建新的数据集/文件,或者将汇总的数据添加到您的活动数据集中,如上所述:

aggregate

为了在新的单独的tabe中获取新变量,请查找其他AGGREGATE选项,例如AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=Subject /Self_mean=MEAN(Self) /Other_mean=MEAN(Other). (删除/OUTFILE=*)将导致新的聚合数据替换窗口中的原始文件,而MODE=ADDVARIABLES会将聚合数据保存到文件中。