楼主: 6皮皮9
4335 7

[问答] SPSS宏应用-合并变量 [推广有奖]

  • 3关注
  • 3粉丝

已卖:187份资源

硕士生

70%

还不是VIP/贵宾

-

威望
0
论坛币
2183 个
通用积分
2.8500
学术水平
14 点
热心指数
10 点
信用等级
9 点
经验
748 点
帖子
155
精华
0
在线时间
187 小时
注册时间
2008-12-7
最后登录
2023-12-3

楼主
6皮皮9 发表于 2013-3-18 18:05:11 |AI写论文
10论坛币
由于问卷收集回来的不少问题都是分散的二分变量,我希望合并成一个新变量。原有代码如下:
/*个人年龄.
if (V_4=1) Age=15.
if (V_5=1) Age=16.
if (V_6=1) Age=17.
if (V_7=1) Age=18.
if (V_8=1) Age=19.
if (V_9=1) Age=20.
if (V_10=1) Age=21.
if (V_11=1) Age=22.
if (V_12=1) Age=23.
if (V_13=1) Age=24.
if (V_14=1) Age=25.
if (V_15=1) Age=26.
if (V_16=1) Age=27.
if (V_17=1) Age=28.
if (V_18=1) Age=29.
if (V_19=1) Age=30.
excecute.
这样就新生成年龄变量,表示15到30岁的人。
我希望用宏语句来简化变量,以免变量太多的时候写起来头疼。
写出下面的语句后,发现出错不能运行。希望高手指点,不甚感激!
DEFINE VAR_N ( varbeg=  !charend('/')
                        /varend= !charend('/')
                        /arg1= !tokens(1)
                        /arg2=  !tokens(1)
                        /begin= !tokens(1))
!do !i=!arg1 !to !arg2.
if (!concat(!varbeg,!i)=1)) !varend=(!begin+!i-!arg1)
!doend
!enddefine.
VAR_N varbeg=V_ varend=ageX arg1=4 arg2=19.

关键词:SPSS 合并变量 PSS DEFINE Token

沙发
6皮皮9 发表于 2013-3-19 08:12:27 来自手机
自己顶一个,没有人回复啊

藤椅
6皮皮9 发表于 2013-3-20 09:59:18
我自己已经解决这个问题了:正确代码如下
DEFINE VAR_N ( varbeg=  !charend('/')
                         /varend= !charend('/')
                        /arg1= !tokens(1)
                        /arg2= !tokens(1)
                        /begin= !tokens(1))
!do !i=!arg1 !to !arg2.
if (!concat(!varbeg,!i)=1) !varend=!begin+!i-!arg1.
!doend!enddefine.
VAR_N varbeg=V_ / varend=ageX / arg1=4 arg2=19 begin=15.

板凳
jswu167 企业认证  发表于 2013-3-21 22:49:07
高人啊,都研究宏啦,以后学习

报纸
6皮皮9 发表于 2013-3-22 14:19:37
jswu167 发表于 2013-3-21 22:49
高人啊,都研究宏啦,以后学习
偶也是被逼无奈啊~~还有另外一些问题没有解决。过两天再发上来问问大家了

地板
6皮皮9 发表于 2013-4-25 17:19:45
已经解决的问题,暂时不知道怎么关闭。自己摸索一下

7
雪的梦幻_39 发表于 2013-7-30 10:30:34
请问上面的大虾,在SPSS17.0中如何运行宏程序??  我找不到编辑程序的地方呢

8
6皮皮9 发表于 2013-7-30 13:39:40
雪的梦幻_39 发表于 2013-7-30 10:30
请问上面的大虾,在SPSS17.0中如何运行宏程序??  我找不到编辑程序的地方呢
就是那个语法编辑器啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 19:43