gpt4 book ai didi

syntax - 在 SPSS 中为配对行分配合作伙伴值

转载 作者:行者123 更新时间:2023-12-04 03:19:05 25 4
gpt4 key购买 nike

想象一个包含成对参与者(“夫妇”1-10)的数据集,每个参与者都有一个唯一标识符(“人”1 或 2)。一对中的每个人在某个变量上都有唯一的值,称之为“ Actor ”。我想编写一个脚本,该脚本采用个人的“ Actor ”值并将其放入名为“合作伙伴”的对中另一个人的新变量中。这样,每个人(行)都会有自己的值(value)(“ Actor ”)和他们的合作伙伴(“合作伙伴”)的值(value)。

我尝试过的方法涉及重构:

SORT CASES BY Couple.
CASESTOVARS
/ID=Couple
/GROUPBY=VARIABLE.

COMPUTE Partner.1=Actor.2.
COMPUTE Partner.2=Actor.1.
EXECUTE.

VARSTOCASES
/MAKE Person FROM Person.1 Person.2
/MAKE Actor FROM Actor.1 Actor.2
/MAKE Partner FROM Partner.1 Partner.2
/INDEX=Index1(2)
/KEEP=Couple
/NULL=KEEP.

现在这非常适用于我创建的小型假设数据集。但是,我希望脚本能够处理更多变量,而无需用户手动输入更多/MAKE 命令。

是这样的吗?

for i in varlist[var=all]
do
VARSTOCASES
/MAKE i FROM i.1 i.2
/INDEX=Index1(2).

但这不是有效的 SPSS 代码。任何人都知道我该如何装配它?

谢谢!

最佳答案

下面的代码应该可以解决这个问题:

SORT CASES BY couple (A) Person (A).
IF (couple = LAG(couple)) partner = LAG(actor).

SORT CASES BY couple (A) Person (D).
IF (couple = LAG(couple)) partner = LAG(actor).

说明:首先,您以某种方式对数据集进行排序,每个 Actor 后面都有其合作伙伴。然后,您可以使用 LAG 函数将 Actor 的 ID(从上一行)复制到合作伙伴的(第二行)合作伙伴变量中。由于 SPSS 中没有类似 Follower 的函数(我真的很想念它),您不能将第二行的值直接复制到第一行。您必须先按降序对 person 变量进行排序。

关于syntax - 在 SPSS 中为配对行分配合作伙伴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26739840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com