是否有“本机” SPSS循环浏览一些可变名称的方法?我要做的就是列出变量(我定义的)列表,并为它们运行相同的过程:

伪代码 - 并不是一个很好的例子,但要说明...

for i in varlist['a','b','c']
do
  FREQUENCIES VARIABLES=varlist[i] / ORDER=ANALYSIS.
end

我注意到人们似乎只使用R或Python SPSS插件来实现此基本数组功能,但是我不知道我可以在安装SPSS上配置这些插件(如果有的话)。

SPSS必须有一些本地方法才能做到这一点...对吗?

有帮助吗?

解决方案

有两种简单的解决方案,用于通过变量循环(与在SPSS中使用Python相比,更容易)。

1) DO REPEAT-END REPEAT

退缩是您可以使用 DO REPEAT-END REPEAT 主要仅用于数据转换 - 例如 COMPUTE, RECODE 等等。不允许频率。例如:

DO REPEAT R=REGION1 TO REGION5.
COMPUTE R=0.
END REPEAT.

2) DEFINE-!ENDDEFINE (宏设施)

您可以使用宏命令在变量循环中执行频率。例如:

DEFINE macdef (!POS !CHAREND('/'))
!DO !i !IN (!1)
frequencies variables = !i.
!DOEND
!ENDDEFINE.

macdef VAR1 VAR2 VAR3  /.

其他提示

如果我正确理解这个问题,则可能无需使用循环结构。具有变量子命令(例如频率)的SPSS命令允许您指定多个变量。

频率的基本语法是:

FREQUENCIES
    VARIABLES= varlist [varlist...] 

其中[varlist]是一个单个变量名称,多个空格限制的变量名称,一系列连续变量,其中指定了使用to关键字,关键字全部或以前选项的组合。

例如:

FREQUENCIES VARIABLES=VARA

FREQUENCIES VARIABLES=VARA VARB VARC

FREQUENCIES VARIABLES=VARA TO VARC     

FREQ VAR=ALL

FREQ VAR=VARA TO VARC VARM VARX TO VARZ

SPSS统计17.0命令语法参考 可用 http://support.spss.com/productsext/spss/documentation/spssforwindows/index.htm

请注意,自从我实际使用SPSS以来已经有几年了。

在一个数据通行证上执行所有这些频率是更有效的,例如FREQUENCIES a to c.但是Python让您进行循环和许多其他控制流窍门。

begin program.
import spss
for v in ['a','b','c']:
  spss.Submit("FREQUENCIES " + v)
end program.

使用Python需要安装SPSS开发人员Central提供的(免费)Python插件, www.spss.com/devcentral.

当然,您可以将宏用于此类事情,但是一旦掌握了它,Python就会变得更加强大,更容易。

是的,SPSS可以做到这一点。听起来UCLA的家伙使用Python,因为他们知道如何在Python而不是在SPSS中做到这一点。 :)

让我们称您的变量vara,varb,varc。它们必须是数字的(因为您正在执行频率),并且必须在SPSS数据文件中连续。然后,您创建了一个矢量,说“这是我要循环的一系列变量”。

VECTOR VectorVar = VarA TO VarC.
LOOP #cnt = 1 to 3 by 1.
    FREQUENCIES VARIABLES=VectorVar(#cnt) / ORDER=ANALYSIS
ENDLOOP.
EXECUTE.

(以上尚未测试。

这是UCLA的学术技术服务的页面,描述了变量列表的循环. 。引用,

“因为我们正在循环多个变量,所以我们需要使用Python。”

在我的经验中, UCLA ATS 可能是所有主要统计计算系统的最佳覆盖地点。如果他们说您需要Python ...您可能需要Python。

嗯...很抱歉成为那个家伙,但也许是时候切换到另一个统计系统了。

我没有太多使用SPSS宏,但是也许他们可以将您带到您需要的地方?查看此网站以获取一些示例:

http://spsstools.net/macros.htm

此外,SPSS数据管理书籍也可能会有所帮助。

最后,如果内存服务,我认为问题甚至可能是如何利用SPSS语法内部的Python的主要示例。我只使用了Python和SPSS几次,但是如果需要,可以访问该语言非常方便。

Hth

该如何为SPSS做这个stata sintxis。

foreach var of varlist  pob_multi pob_multimod pob_multiex vul_car vul_ing nopob_nov espacio carencias carencias_3 ic_rezedu ic_asalud ic_ss  ic_cv  ic_sbv ic_ali  pobex pob  {
    tabstat `var' [w=factor] if pob_multi!=., stats(mean) save
    matrix define `var'_pp =(r(StatTotal))
    matrix rownames `var'_pp = `var'_pp
}

matrix tabla1 = (pob_multi_pp \ pob_multimod_pp \ pob_multiex_pp \ vul_car_pp \ vul_ing_pp \ nopob_nov_pp \ espacio_pp \ carencias_pp \ carencias_3_pp \ espacio_pp \ ic_rezedu_pp\ ic_asalud_pp \ ic_ss_pp \ ic_cv_pp \ ic_sbv_pp\ ic_ali_pp \ espacio_pp \ pobex_pp \ pob_pp   )
matrix list tabla1

谢谢。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top