新浪博客

SPSS的VARSTOCASES能怎么用?

2018-11-23 05:22阅读:
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

我的更多文章

下载客户端阅读体验更佳

APP专享