我在SPSS中实现以下功能时遇到一些困难。我试图找到一种方法来跟踪患有某种疾病的诊所的宠物。如果他们患有这种疾病,最初宠物被分配一定数量,但在随后的访问中这个数字是0,因为他们的疾病将被治愈!但是,我们想看看宠物是如何做的,所以我们希望能够添加一个实现以下功能的变量(过去的疾病)。
NAME Visit DATE Disease Code
SPOT 1/1 1
SPOT 1/9 0
SPOT 1/11 0
Bruno 12/1 1
Bruno 12/8 0
在这个例子中,Spot和Bruno参加了疾病1,但是当他们回来时他们没有患病1,因为治疗有效。但是,我们想要添加一个变量,仍然显示Spot和Bruno患有这种疾病。所以预期的结果是:
NAME Visit DATE Disease Code Past Disease Code
SPOT 1/1 1 1
SPOT 1/9 0 1
SPOT 1/11 0 1
Bruno 12/1 1 1
Bruno 12/8 0 1
我试图通过使用IF循环来实现这一点,但我无法正确理解语法,因为Spot和Bruno作为一个案例多次输入,而不是单个案例。那有意义吗?从本质上讲,我希望能够说,因为SPOT和Bruno的变量"疾病代码",#34;过去的疾病代码"对于Spot和Bruno的每个条目,应该等于1。请注意,我们可以假设每只狗都有不同的名字。
答案 0 :(得分:2)
查找AGGREGATE
命令。
根据您的数据,这样的事情可能会起作用,但这应该足以作为命令如何工作的一个很好的例子。
AGGREGATE OUTFILE=* MODE=ADDVARIABLES /BREAK=name /PastDiseaseCode=MAX(DiseaseCode).