forcode想看的


forcode看过的


新技术
新趋势
奇思妙想
科学探索
科幻奇幻
资料搜集
网络研究
统计定量
社会学研究
书摘读后感
数码网络
软件评测
数据指标
实用信息
有趣的东西
房地产
网络赚钱
投资创业
新闻评论
网站经营
电影八卦
美景美人
人物朋友
情感回忆梦
forcode生活

2008-01-12

forcode:SPSS多选项问题录入的一个高效率方法(组图)

forcode:刚才两个师弟过来跟我讨论问卷中多选项问题的数据录入问题,提到的一篇论文《再谈SPSS 中SUBSTR 函数与多选题答案的编码》,让我学到了一种新的录入多选项问题的办法。按照传统的方法,在spss里面,多选项问题需要将每个选项编码为0,1的虚拟变量,然后使用analyzs中的multiple response来进行统计分析,这样输入的时候如果选项较多,工作量比较大。这篇论文巧妙利用substr这个字符串函数使得多选项问题的录入大大简化,还是举个例子来说吧,比如,有一个问题有9个选项,每个人最多选3项,如果第一个人选了2、3、4这三项,第二个人选了1、3、7这三项……这种方法在录入该问题的时候,只需要产生一个变量,如果选择2、3、4这三项,就连着录入234这个字符(注意tiaojian这个变量是字符型),具体如下:
http://www.qixianglu.cn/621445.html
tiaojian
234                    
137                    
356                    
129                    
139                    
257                    
268                    
346                    
这种方法虽然能够简化数据录入,但是在具体使用的时候还得将tiaojian这个变量拆开,有多少个选项就要生成多少个0、1的虚拟变量,比如,受访对象选择了第四项,我们需要的虚拟变量tiaojian1中该值就为1,其他没有选择第四项的受访对象的该变量值就编码为0,方法如下,在transform菜单中选择compute来生成新变量,如下图所示:

进入compute窗口,target variable中输入新变量tiaojian1的名字,在numeric expression中输入这个公式:
substr(tiaojian,1,1)='4' | substr(tiaojian,2,1)='4' | substr(tiaojian,3,1)='4'
该公式包含了三个substr()函数,用|连接起来,表示只要三个substr()函数只要有一个成立就赋值为1,该函数有三个参数,具体意思如下:
函数substr(tiaojian,1,1)='4'中有三个参数,tiaojian是来源变量的名字,中间的1是表示该函数的起始位置,这里是1就表示对该字符左边第1位进行识别,第二个1表示识别的字符的长度。substr(tiaojian,1,1)='4'表示tiaojian这个字符变量的第一个字符如果为4就将tiaojian1相应的值编码为1,否则编码为0。substr(tiaojian,2,1)='4'和substr(tiaojian,3,1)='4'分别表示tiaojian这个字符变量的第二和第三个字符如果为4就将tiaojian1相应的值编码为1,否则编码为0,因为这里tiaojian这个字符型变量只有3位,因此只需要三个substr函数就可以了,具体截图如下,然后点击确定:

于是就得了新的变量tiaojian1,可以发现tiaojian变量中234和346这两个案例中都含有4,于是在tiaojian1中,这两个案例的值都是1,其他都是0,于是就得到了我们需要的虚拟变量,用类似方法可以生成所有的选项的虚拟变量,截图如下:
tiaojian                     tiaojian1
234                         1.00
137                         .00
356                         .00
129                         .00
139                         .00
257                         .00
268                         .00
346                         1.00

如果选项非常多,超过了9个出现两位数的选项怎么办?很简单,用英文小写字母来表示9以后的选项就可以了。
如果还有什么不明白的,那就看看这篇论文的原文吧,很短,只有一页,我就截图放这了:

《再谈SPSS 中SUBSTR 函数与多选题答案的编码》
暨南大学医学院卫生统计教研室(510632)  林汉生 夏苏建 杨 丽 蔡 玲

图片相册地址:
http://picasaweb.google.com/woodphone/SPSSSUBSTR




文献〔1〕着重介绍了SUBSTR 函数在多选题答案编码中的
应用。文章发表后,我们发现还有更简便的SPSS 操作可以完
成该项功能。下面结合实例进行介绍,并指出该操作与以前介
绍的不同之处。
例 受伤情况: (1) 软组织挫伤; (2) 骨折; (3) 胸腹和骨盆
内部损伤; (4) 颅脑损伤。
一、SPSS 数据工作表
将该问题设置1 个字符变量, 如type , 分别用字符变量值
1 ,2 ,3 ,4 代表4 种受伤情况。字符变量的宽度不一定和多选项
的数目一致。如调查结束后,发现调查对象中最多只会同时有
3 种损伤,则字符变量的宽度为3 。
如某人同时有软组织挫伤、骨折、颅脑损伤,则输入字符变
量值124 ;如只有软组织挫伤,则输入1 ;如没有损伤,则输入0 。
表1 中的number (调查对象编号) 和type 为数据工作表的基本
数据。
字符变量type 的变量值便于数据录入, 但不便于统计分
析。因此需要用SUBSTR 函数将字符变量type 分解为数值变
量type1 , type2 , type3 , type4 ,分别代表4 种受伤情况,用数值0
表示无,1 表示有。
表1  SPSS 数据工作表
number type type1 type2 type3 type4
1 0 0100 0100 0100 0100
2 4 0100 0100 0100 1100
3 13 1100 0100 1100 0100
4 23 0100 1100 1100 0100
5 124 1100 1100 0100 1100
  二、Compute 过程和SUBSTR 函数的使用
SUBSTR 为子串选择函数, 表达式为SUBSTR ( S t rex pre ,
pos , lenth) =′子串′。式中Strexpre 为字符变量, pos 为字符串
变量值的开始位置, length 为选取字符串变量值的长度。如从
字符变量( type) 值中选取第3 个字符为"4"的子串,则Strexpre
为type , pos 为3 , lenth 为1 (只选取1 个字符) , 即SUBSTR
( type ,3 ,1) =′4′。
当表1 中number 和type 的变量输入完毕后, 用SUBSTR
函数将字符变量type 分解为数值变量type1 , type2 , type3 ,
type4 ,可通过Compute 对话框或Syntax Editor (语句编辑) 完
成。
11Compute 对话框
从菜单选择Transform vCompute。在Compute 对话框的
Target 栏中输入type4 ,在Numeric Expression 栏中输入
SUBSTR( type , 1 , 1) =′4′| SUBSTR ( type , 2 , 1) =′4′| SUBSTR
( type ,3 ,1) = ′4′
  单击OK按钮
"| "表示"或者",也可以用or 表示。
以上操作的作用是:在字符变量type 的变量值中, 不管是
第1 ,还是第2 或者第3 个字符为4 , 返回的函数值为1 ; 如果
type 的变量值中不包含4 ,返回的函数值为0 ;返回的函数值赋
值给数值变量type4 。
重复以上操作,可以生成新变量type1 、type2 和type3 。
本文与原来介绍的主要不同之处是:免去在Compute 对话
框中使用If 过程,免去将数据工作表中的缺失值用Recode 重
新编码。
在Compute 对话框中,利用Paste 按钮,可以将上述操作过程
用SPSS 语句粘贴到Syntax Editor 窗口中,从而方便以下操作。
21Syntax Editor
在Syntax Editor 窗口,编辑并执行以下程序,也可得到表1
的结果。利用复制和粘贴功能,可减少输入时的错误。要注意
在英文状态下输入并编辑程序。
COMPUTE type1 = SUBSTR ( type , 1 , 1) = ′1′| SUBSTR
( type ,2 ,1) = ′1′| SUBSTR( type , 3 , 1) =′1′。COMPUTE type2
= SUBSTR( type , 1 , 1) =′2′| SUBSTR ( type , 2 , 1) =′2′| SUB2
STR( type ,3 ,1) = ′2′。COMPUTE type3 = SUBSTR( type ,1 ,1)
=′3′| SUBSTR ( type , 2 , 1) =′3′| SUBSTR ( type , 3 , 1) =′3′。
COMPUTE type4 = SUBSTR ( type , 1 , 1) =′4′| SUBSTR ( type ,
2 ,1) =′4′| SUBSTR( type ,3 ,1) = ′4′。
EXECUTE。
参 考 文 献
11 林汉生,杨丽,夏苏建,等. 多选题答案的编码与SPSS 中SUBSTR 函
数的使用. 中国卫生统计,2001 ,18 (6) :371 - 373.
·60 ·  中国卫生统计2005 年2 月第22 卷第1 期
--
未来新技术和新趋势的种种可能:
奇想录 http://www.qixianglu.cn
订   阅 http://feed.feedsky.com/woodphone
非主流的科幻界的非主流论坛——奇想家园:
http://www.douban.com/group/forcode/

0 条评论:

发表评论

订阅 博文评论 [Atom]

<< 主页

热门文章
============================================================
格兰仕微波炉报价单    英语六级历年真题听力下载    大陆身份证生成器
東方神起的所有反轉劇!!.[含东方剧场](會繼續更新以後的)(已可覲看)
电视剧《靠近你温暖我》全集下载(BT/迅雷/电驴/剧照)
精彩的洞庭湖人鼠大战(4视频+forcode点评)
一百多个电影字幕下载网站,精心收集整理!
(视频)(CCTV10“走进科学”-科幻之旅专题-克隆人 8.14)
国外BT站点和BT种子搜索站(国外完整bt搜索列表)
============================================================
forcode科幻小说《抽水马桶的秘密》正在起点中文网连载
《抽水马桶的秘密》读者评论:
(1)你的书很好看,比大刘,王晋康的创意好太多了,努力吧将来出实体书我一定会买的。(2)很有想象力的作者啊!!估计是看了不少科幻小说的人,希望不要浪费你非凡的想象力。
(3) 读者在自己博客或论坛对《抽水马桶的秘密》的评论。(4)点击此处查看全部的读者评论(18页,1000条以上)
《抽水马桶的秘密》相关帖子:
《远程面包机》提纲|| 《进化论危机》提纲大家一起来设计
抽水马桶是外星人的试管|| 读者推荐超一万票
《抽水马桶的秘密》内容简介:
地球哺乳界正在发生的一次大规模跨物种升级,DNA机制并非人们所想像的那样是决定生命的最终遗传载体,而是类似浏览器这样的转译机制,真正的遗传物质存储在弥漫整个宇宙的光子数据库中,DNA机制实际上是一种设定了进化路径的文明压缩包的解压机制,数十亿年前灭绝的三栖人发明了光子数据库和DNA机制,目的是为了让这个机制最终复活三栖人文明,而人类(裸猿)这一物种在三栖人社会里其实是一种宠物,但是DNA机制似乎出现了点问题,或者说不知道什么原因裸猿突然变得太过聪明了,在播撒了始祖菌(DNA种子)的所有星球,进化路径发展到裸猿阶段,并没有继续演化出最后一步:三栖人,而强大的光子数据库一旦意识到DNA进化机制的这个漏洞,立刻关闭了这些星球对光子数据库的访问权限,这样,这些星球的生态系统都面临着灭绝的危险,因为他们脱离了光子数据库的遗传支持再也无法自然繁殖,只能靠遗传工程来复制现有的基因,或者做些小打小闹的修改,整个宇宙各星球上的基于DNA机制的生态系统都面临崩溃的危险。最终在13世纪,裸猿一族在银河边缘一个不起眼的小星系发现了地球这个由于某种原因至今还刚进化到裸猿初级阶段的星球,为了催熟地球的进化速度,外星裸猿文明开始介入地球的发展,为了防止光子数据库察觉到非地球文明的介入并关闭地球的权限,这种介入始终是暗中进行,因为介入方式的分歧,银河系裸猿文明分裂为两大集团,这两大集团的争斗伴随着人类近现代的发展,于是,文艺复兴开始了、三次科技革命出现了、两次世界大战也来了,直到今天,地球人类为自己的技术进步而沾沾自喜,丝毫不知道技术迅速发展的真正原因以及潜藏的危机。
============================================================
forcode2003年以前的习作:未来的婚姻、远程面包机
forcode朗诵《蜀道难》||forcode的一百多个科幻构思
奇想录:最新奇有趣的新技术和新闻点评|| 订阅“奇想录”