首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历动态变量名称

循环遍历动态变量名称
EN

Stack Overflow用户
提问于 2016-05-11 18:53:37
回答 3查看 236关注 0票数 1

我希望能够在SPSS中循环使用一系列类似命名的变量,只需改变几个参数。例如,我有变量

q7_22_react_a q7_22_react_b q7_22_react_c q7_23_react_a q7_23_react_b q7_2_react_c

注意编号和字母的变化。我尝试过这样做,但它对"7_22“的解析不是很好:

代码语言:javascript
复制
define !test (numbers= !chardend('/') / letters= !cmdend).
!do !i !in (!numbers)
   frequencies variables !concat(q,!i,'_react_',!letters)
!doend
!enddefine.

!test numbers= 7_22 / letters= a.

有什么想法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-12 13:07:21

我不知道是否有真正的解决办法,但我可以想出几个解决办法。这样做的目的是防止令牌被拆散--要么用字母开头:

代码语言:javascript
复制
define !test2 (numbers= !chardend('/') / letters= !cmdend).
!do !i !in (!numbers)
   frequencies variables !concat(!i,'_react_',!letters)
!doend
!enddefine.

!test2 numbers= q7_22 / letters= a.

或者通过添加引号:

代码语言:javascript
复制
define !test3 (numbers= !chardend('/') / letters= !cmdend).
!do !i !in (!numbers)
   frequencies variables !concat('q',!unquote(!i),'_react_',!letters)
!doend
!enddefine.

!test3 numbers= '7_22' / letters= a.
票数 1
EN

Stack Overflow用户

发布于 2016-05-13 14:36:12

这里有一个简单的解决方案。

代码语言:javascript
复制
SPSSINC SELECT VARIABLES MACRONAME="!react"
/PROPERTIES  PATTERN = ".*react".

freq !react.

模式是一个正则表达式--在这里,包含"react“的任何名称。SPSSINC选择变量是一个扩展命令,通常安装在最近版本的Statistics或中。它有一个对话框,显示在“实用程序”菜单上。

票数 2
EN

Stack Overflow用户

发布于 2016-05-16 14:05:19

代码语言:javascript
复制
define !test (numbers= !chardend('/') / letters= !cmdend).
    !do !i !in (!numbers)
       frequencies variables !concat(q,!UNQUOTE(!i),'_react_',!letters).
    !doend
!enddefine.
SET MPRINT ON.
!test numbers= '7_22' / letters= a.

Resulting Syntax ;-)))
frequencies variables q7_22_react_a.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37171111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档