点''.''表示未填写题目,Q1-Q6是问卷的题目, ABC是回答问卷的人,如何计算有多少人全部回答了问卷的题目,有多少人回答的题目大于3个呢?非常感谢!
ID Q1 Q2 Q3 Q4 Q5 Q6
A 1 . 3 . 2 .
B 1 1 1 1 1 1
C . . . . . .
D 2 2 2 . . 2
。。。。
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
drop if Q1==.
....
drop if Q6==.
count
gen Q=0local i=1while `i'<7{replace Q=Q+1 if Q`i'~=.local i=`i'+1}
生成的变量Q即为回答的题目数
楼上的学长,我按你的方法做,stata说program error: code follows on the same line as open brace
出什么问题了?
学长回的好快啊,但是我还是弄不出来,还是program error
可以帮我看看吗?我想知道,公司和几个银行有合作。
马上下载
试试egen ans = rownonmiss(Q1-Q6)count if ans == 6count if ans >=3 & ans <=6
我这么做后,egen下显示 type mismatch是为什么呢?
[此贴子已经被作者于2008-10-13 19:32:55编辑过]
*前提:Q1—Q6都是字符型变量,缺失值即""
gen p=0forv i=1(1)6 {gen p`i'=1replace p`i'=0 if Q`i'==""replace p=p+p`i'drop p`i'}count if p==6count if p>=3
具体如何操作有数字和字符共存的问题呢?
比如,如何统计有多少人回答问卷题目大于等于5题
问卷有100个问题,比如问题q1里面有5个选项,设置为了5个变量q1_a q1_b q1_c q1_d q1_e,同样,q2-q100都是有不同选项设置为不同变量的(不一定是5个)。
回答了a至e的任何一项,就算回答了q1题
回答里不仅是数字,还是字符
挺复杂的,如何统计呢?非常感谢!!!!!