SPSS:遍历变量的值

时间:2012-09-30 14:52:45

标签: loops spss

我有一个数据集,根据他们访问我们移动诊所的网站有患者数据。我现在已经编写了一系列命令,例如freqs和crosstabs来生成我需要的分析,但是我希望这可以为每个站点的患者完成,而不是整个数据集。 如果我只有一个站点,仅使用指定患者站点的变量的过滤器命令就足够了,但是我有19个站点,所以我想找到一种循环我的代码来为每个站点生成这些输出的方法。也就是说,对于我在1到19: 1.参加我的网站 2.为第i个站点计算过滤器 3.使用第i个站点的患者过滤数据运行表

这是我第一次尝试使用DO REPEA。我也尝试过使用LOOP耳机。 然而,它不起作用我继续得到一个错误,即使这些是闭环。 有没有办法在SPSS语法中执行此操作?请记住,我不太了解Python使用该插件做到这一点。

*LOOP #ind= 1 TO 19 BY 1.
DO REPEAT #ind= 1 TO 20.
****8888888888888888888888888888888888888888888888888888888   Select the Site here.
COMPUTE filter_site=(RCDSITE=#ind).
USE ALL.
FILTER BY filter_site.
**********************Step 3: Apply the necessary code for tables

*********Participation in the wellness screening, we actually do not care about those who did FP as we are not reporting it.

COUNT BIO= CheckB (1).
 * COUNT FPS=CheckF(1).

 * COUNT BnF= CheckB CheckF(1).
  VAL LABEL BIO 
1 ' Has the Wellness screening'
0 'Does not have the wellness screening'.
*VAL LABEL FPS
1 'Has the First patient survey'.
 * VAL LABEL BnF
1 'Has either Wellness or FPS'
2 'Has both surveys done'.

FREQ BIO.

*************************Use simple math to calcuate those who only did the Wellness/First Patient survey FUB= F+B -FnB.
*******************************************************Executive Summary.


 ***********Blood Pressure.
FREQ BP.

*******************BMI.
FREQ BMI.

******************Waist Circumference.

FREQ OBESITY. 


******************Glucose.

FREQ GLUCOSE.

*******************Cholesterol.

FREQ TC.



************************ Heamoglobin.

FREQ HAEMOGLOBIN.



*********************HIV.


FREQ HIV.

******************************************************************************I Lifestyle and General Health.
MISSING VALUES Gender GroupDep B8 to B13 ('').
******************Graphs 3.1

3 个答案:

答案 0 :(得分:1)

这只是你生产的频率吗?通过变量RCDSITE尝试SPLIT过程。应该够了。

答案 1 :(得分:1)

SPLIT FILES允许您将数据分区最多八个变量。然后每个程序将自动迭代每个组。

如果您需要将结果分组到比程序更高的级别,即在继续下一个程序之前为每个组运行一系列过程,以便组的所有输出都在一起,可以使用SPSSINC SPLIT DATASET和SPSSINC PROCESS文件扩展命令来执行此操作。

这些命令需要Python Essentials。如果您的版本至少为18,则可以从SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)下载该命令和命令。

HTH, 乔恩佩克

答案 2 :(得分:0)

一种简单但可能不是很优雅的方法是从菜单中选择:数据/选择案例/如果条件,您输入站点1的过滤器并按粘贴,而不是确定。

这将使用过滤器作为语法代码。

因此,通过一些复制/粘贴/替换/重复,您可以根据不同的站点获取频率和所有其他结果。