【问题标题】:Comparing or combining values in a column比较或组合列中的值
【发布时间】:2021-10-16 00:26:36
【问题描述】:

情景和问题:
基本上,我在 SPSS 中有一对配对调查的结果。它的设置是 A 对问题 1-10 的回答是前 10 个变量,然后 B 对问题 1-10 的回答是接下来的 10 个变量。但是我需要为个人运行测试并生成交叉表,所以如果我有 20 对,交叉表输出应该是 40它结束了,但是我丢失了特定于情侣的数据,我仍然需要能够根据匹配的配对信息创建新变量。我解决这个问题的方法是创建一个新变量,同时仍以匹配对的形式称为 CoupleNum,因此即使它们是单独的形式,我也可以说他们的对数是否相等,计算这个或那个。但我实际上不知道该怎么做。 在同一个数据集中,如何比较同一个变量的行?

我所说的例子:

这是假数据

A_CoupleNum A1_HappyScale B_CoupleNum B1_HappyScale
1 6 1 4
2 2 2 3
3 9 3 7

我会把它移动到单独的形式,比如

CoupleNum HappyScale
1 6
2 2
3 9
1 4
2 3
3 7

然后我希望能够创建一个名为 CoupleHappiness 的新变量,它是情侣中每个人相加的 HappyScale。

CoupleNum HappyScale CoupleHappiness
1 6 10
2 2 5
3 9 16
1 4 10
2 3 5
3 7 16

所以基本上我想编写类似的代码

if CoupleNum = CoupleNum CoupleHappiness = HappyScale + HappyScale

我知道这绝对是不正确的,但希望它能传达我的观点以及我想做的事情。

我发现不起作用/我不知道如何让它们满足我的需求的潜在解决方案:
由于我是 SPSS 新手,因此我发现了一些可能有效的方法,但我对 SPSS 语法的了解不足以满足我的需求。我注意到人们提到 LAG 函数或 CREATE + LEAD 之类的东西,如果它们在相邻的行中,但它们可能无处不在。也有人提到使用案例编号,但我不完全理解。

对不起,这是一个很长的问题,但我会很感激任何帮助!

【问题讨论】:

  • 您将夫妻的数据分成单独的行的第一步应该是通过语法而不是手动。如果您为此提出一个新问题,我们也可以为您提供帮助。

标签: spss


【解决方案1】:

您正在寻找的是aggregate 函数。在这种情况下,您可以这样使用它:

注意 - 此代码已被编辑和更正:

aggregate out=* mode=addvariables /break CoupleNum/CoupleHappiness=sum(HappyScale).

该函数将所有行按 CoupleNum 的值分组,然后对于每个组,该函数将计算 HappyScale 的总和并将其放入一个名为 CoupleHappiness 的新变量中。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 2015-02-22
    • 2021-07-15
    相关资源
    最近更新 更多