如何在SPSS语法中引用现有变量的特定行?

时间:2017-05-29 07:17:47

标签: spss

我有2个变量,一个用于原始p值,另一个用于调整后的p值。我需要根据这两个变量的值计算一个新变量。我需要做的不是太复杂,但我在SPSS中很难做到,因为我无法弄清楚如何在SPSS语法中为现有变量引用特定行。

第一列按升序列出原始p值。下一列列出了调整后的p值,但这些调整后的p值仍然不完整。我需要比较调整后的p值列中的两个相邻p值(例如,第1行和第2行,第2行和第3行,第3行和第4行,依此类推),并取每个中较小者的p值在这些比较中,将这些p值作为新变量的值输入下一列。

但是,这不是故事的结尾。还有一个条件必须得到满足。也就是说,新的p值必须与原始p值的顺序相同。但是,如果我从顶行开始比较,我无法确保这一点。您可以看到(i')大于(h')和(g'),并且(d')大于(c'),(b')和(a')在下面的示例中(图片) )。

为了解决这个问题,我需要从底部开始比较调整后的p值。另外,我需要将调整后的p值与下面一行的新p值进行比较。一个例外是我可以简单地使用(a)的值作为(a')的值,因为(a)的值通常应该是所有p值中的最大值。然后,对于(b'),我需要比较(b)和(a')并输入较小者为(b')。对于(c'),我需要比较(c)和(b')并输入较小的(c'),依此类推。通过这种方式,(d')将是0.911并且(i')将是0.017。

对于这篇长篇文章感到抱歉,但如果我能在SPSS中完成这项任务,我将非常感激。

提前感谢您的帮助。

Raw p-values | Adjusted p-values (Temporal)| New p-values (Final)
-------------|-----------------------------|---------------------
0.002        | 0.030 (i)                   | 0.025 (i')
0.003        | 0.025 (h)                   | 0.017 (h')
0.004        | 0.017 (g)                   | 0.017 (g')
0.005        | 0.028 (f)                   | 0.028 (f')
0.023        | 0.068 (e)                   | 0.068 (e')
0.450        | 1.061 (d)                   | 1.061 (d')
0.544        | 1.145 (c)                   | 0.911 (c')
0.850        | 0.911 (b)                   | 0.911 (b') 
0.974        | 0.974 (a)                   | 0.974 (a')

2 个答案:

答案 0 :(得分:0)

为了帮助您入门,以下是一些可以帮助您完成此任务的工具:

LAG功能
您可以比较此行和上一行中的值,例如,以下内容会将每行中的Pval与上一行中的值进行比较,并将两者中的较小者放在NewPval中:

compute NewPVal=min(Pval, lag(Pval)).

如果您只想从底部开始执行相同的过程,您可以按相反的顺序轻松地对数据进行排序并执行相同的操作。

CREATE + LEAD
如果你想比较下一行而不是前一行,你应该首先创建一个"引导"变量然后与之比较。
例如,以下语法将创建一个新变量,该变量对于每一行包含下一行中Pval的值,然后为NewPval选择两者中较小的一行:

create /LeadPval=LEAD(Pval 1).  
compute NewPVal=min(Pval, LeadPval).

使用案例编号
您可以在计算和条件中使用案例编号(行号)。例如,以下语法将允许您在第一行和以下行中进行不同的计算:

if $casenum=1 NewPval=Pval.
if $casenum>1 NewPVal=min(Pval, lag(Pval)).

答案 1 :(得分:0)

另一种可能方便的工具是SHIFT VALUES命令。它可以向前或向后移动一列或多列数据。

我想知道这个目的是否与调整多个测试校正的p值有关,就像Benjamin-Hochberg FDR或其他类似的一样。如果是这种情况,您可能会发现STATS PADJUST(Analyze> Descriptives> Calculate adjusted p values)扩展命令很有用。它提供六种调整方法。您可以从Utilities(V24之前版本)或Extensions(V24 +)菜单安装它。