SPSS的VARSTOCASES能怎么用?
(2018-11-23 05:22:15)
标签:
研究 |
分类: 知无涯 |
VARSTOCASES命令的根本作用就是把横向排列的数据垂直展开,纵向拼接,并且保留数据原来的变量名。基本类似于wide转long,熟悉编程语言的朋友也可以用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
前一篇:“级联效应”与影响的扩散
后一篇:想法放上树叶,树叶随河漂走