楼主: atpwolf
8633 8

个人的EPIDATA使用心得 [推广有奖]

  • 0关注
  • 0粉丝

初中生

23%

还不是VIP/贵宾

-

威望
0
论坛币
50 个
通用积分
0
学术水平
2 点
热心指数
0 点
信用等级
0 点
经验
175 点
帖子
8
精华
0
在线时间
23 小时
注册时间
2007-10-25
最后登录
2022-10-21

楼主
atpwolf 发表于 2009-10-19 00:05:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近在头大公司那些恶心的复选印象题,十几个项,不许用哑变量解决,用epidata控制录入重复的话会很痛苦,特意写了个句子,发现epidata的chk里面好像有长度限制,太多的布尔代数运算就会因为行的问题出现很多奇怪的bug(有时没事,有时就出事)。

建议:直接控制最好不超出10个布尔代数同时运算,十几个项的复选题目到了后面的选项就不能直接控制,得通过中间的临时变量控制。

举个例子吧,某道题目是复选,18个选项。

那么到了第十二个项的时候,由于逻辑运算太长,那么epidata就会报错,解决的方法就是先建立两个临时变量,然后再用临时变量的逻辑运算进行录重控制。第12项的chk写法

after entry

  vartem1=(q10z12=q10z11) or (q10z12=q10z10) or (q10z12=q10z9) or (q10z12=q10z8) or (q10z12=q10z7) or (q10z12=q10z6) or (q10z12=q10z5) or (q10z12=q10z4) or (q10z12=q10z3)

vartem2=(q10z12=q10z2) or (q10z12=q10z1)

* 用两个临时逻辑变量缩短行长度,临时变量在before file里面定义好,反正定义一大串不用都无所谓,输出数据的时候不会输出临时变量的。

if q10z12<>99 then   * "99"为缺失值

  if (vartem1=1) or (vartem2=1) then

   help "录重" type=error
   q10z1=.
   q10z2=.
   q10z3=.
   q10z4=.
   q10z5=.
   q10z6=.
   q10z7=.
   q10z8=.
   q10z9=.
   q10z10=.
   q10z11=.
   q10z12=.
   q10z13=.
   q10z14=.
   q10z15=.
   q10z16=.
   q10z17=.
   q10z18=.
   goto q10z1
  endif
endif
end

运行过去即可,试试看

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EpiData 使用心得 Data EPI pid EpiData 心得

已有 2 人评分论坛币 学术水平 收起 理由
crackman + 1 精彩帖子
xiaowenzi22 + 50 + 1 奖励

总评分: 论坛币 + 50  学术水平 + 2   查看全部评分

沙发
m080068 发表于 2009-12-1 13:12:34
谢谢,请问楼主,楼主能帮忙介绍布尔运算吗?
为经济而来

藤椅
carbonpanda 发表于 2010-3-14 15:06:15
敢问楼主 :老是要求的录入顺序是反向的,我给弄反了 ,怎么能不再次录入而利用软件更改顺序呢 ?

板凳
crackman 发表于 2010-3-24 17:48:47
不错的一个经验

报纸
wulaihu 发表于 2010-3-28 15:55:31
看看,吸收点长处!

地板
1900088 发表于 2010-5-26 16:08:26
不错 学习了

7
atpwolf 发表于 2010-7-15 11:32:07
3# carbonpanda
不太懂你的意思,能截个图看看么

8
genie_静 发表于 2010-7-15 17:40:09
支持原创心得!!

9
神破311 发表于 2018-11-22 09:09:42
就是复选不可以超过十个

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-29 03:24