0

我有一个数据集,其中包含根据他们访问我们移动诊所的站点的患者数据。我现在已经编写了一系列命令,例如 freqs 和 crosstabs 来生成我需要的分析,但是我希望为每个站点的患者完成此操作,而不是整个数据集。如果我只有一个站点,那么仅仅一个带有指定患者站点的变量的过滤命令就足够了,但是我有 19 个站点,所以我想找到一种方法来循环我的代码以为每个站点生成这些输出。也就是说,对于 1 到 19 中的 i: 1. 取第 i 个站点 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
4

3 回答 3

1

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

于 2012-09-30T17:58:06.447 回答
1

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

如果您需要在比过程更高的级别上对结果进行分组,也就是说,在移动到下一个之前为每个组运行一堆过程,以便一个组的所有输出都在一起,您可以使用SPSSINC SPLIT DATASET 和 SPSSINC PROCESS 文件扩展命令来执行此操作。

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

HTH,乔恩·派克

于 2012-10-01T01:19:07.597 回答
0

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

这会将使用的过滤器作为语法代码提供。

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

于 2012-10-03T11:55:33.230 回答