加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SPSS的VARSTOCASES能怎么用?

(2018-11-23 05:22:15)
标签:

研究

分类: 知无涯
VARSTOCASES命令的根本作用就是把横向排列的数据垂直展开,纵向拼接,并且保留数据原来的变量名。基本类似于widelong,熟悉编程语言的朋友也可以用R或其他能执行命令的平台来进行数据转化。

基础代码样例[注1]
varstocases
/make v from v1 v2
/index q (v).

可以想象每一行都是一串数值组成的横线(样例里就是v1,v2两个变量对应的值),然后从开头把这条线拎起来,垂直拼接,最后就成了很长的一条竖线。竖线的名字叫v,这就是“/make v from v1 v2”在干的事.
同时为了保留v线上每个值的来源信息(也就是每个值曾经对应的变量名),可以用“/index q (v)”给v线旁边加条q线。变量名(例子里有v1v2两种值)通“/index q (v)”变成了q线上的变量。
基础代码一运行,所有涉及到的相关变量都会转变,所以对命令没把握的还是要保留好一份原始数据。

“/index”还可以有一些变体,但还是比较推荐最简单的命令,直接提取变量名,再自己做后续操作。这样不容易出错。变量名本身已经蕴含着丰富的信息,可以用自己想要的方式提取数字,提取关键字符信息。网上有了丰富的样例,把里头的数据下载下来照着练一遍基本就可以很清楚substring的用法[注2]。为何是substring呢?因为变量名转变成变量后,首先是字符串string,所以提取的时候也要先提取字符串。提取完成后如果需要的转化,可以用alter type把它们转变成数值numeric形式后再做转化。

最后贴个完整的命令和解释,便于有个大局概念[注3]。该命令可根据实际需要,可自由选择对缺失值的处理、对其他变量的去留、怎么弄自己想要的标签,还可以根据需要生成新的变量。具体每一条细节说明见官方解释和样例,那里已经说得很好了,不再赘述。

VARSTOCASES

/MAKE new variable ["label"] [FROM] varlist [/MAKE ...]

[/INDEX = {new variable ["label"]                                  }]
{new variable ["label"] (make variable name)             }
{new variable ["label"] (n) new variable ["label"](n) ...}

[/ID = new variable ["label"]]

[/NULL = {DROP**}]
{KEEP  }

[/COUNT=new variable ["label"]]

[/KEEP={ALL**  }] [/DROP=varlist]
{varlist}

注1:https://www.spss-tutorials.com/spss-varstocases-what-and-why/
注2:https://www.spss-tutorials.com/substring/
注3:https://www.ibm.com/support/knowledgecenter/en/SSLVMB_24.0.0/spss/base/syn_varstocases.html#syn_varstocases

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有