楼主: iorent
4101 9

[回归分析求助] logit回归,多选处理为虚拟 [推广有奖]

  • 19关注
  • 3粉丝

已卖:115份资源

讲师

55%

还不是VIP/贵宾

-

威望
0
论坛币
780 个
通用积分
817.0504
学术水平
57 点
热心指数
73 点
信用等级
23 点
经验
17626 点
帖子
424
精华
0
在线时间
591 小时
注册时间
2013-2-18
最后登录
2025-5-16

楼主
iorent 发表于 2014-12-15 19:56:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教stata高手:

如图。想做一个logit回归分析(不好意思,忘了列出因变量),s1-s5是多选题,请教高手如何处理为某一个选项上的虚拟变量。另外,v1只有7个有效值,其余八百多个均为缺失值,s3-s5绝大部分为不适用(-8),对logit会有什么影响吗?

二维码

扫码加我 拉你入群

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

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

关键词:logit Log Stata 虚拟变量 不好意思 回归分析 因变量 如何 影响

logit.jpg (260.36 KB)

logit.jpg

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
KAWA-KAWA + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
iorent 发表于 2014-12-15 21:29:35
自己琢磨出了一个方法,请高手看看合适不合适

reshape long s,i(id)j(order) /*转换为长数据*/
tab s,gen(xuanze) /*生成各选项的虚拟变量xuanze,后面会自动附上1,2,3等值*/

藤椅
hyu9910 在职认证  发表于 2014-12-15 22:02:26
你的问题是关于模型,不是关于STATA唉

板凳
iorent 发表于 2014-12-15 22:25:40
hyu9910 发表于 2014-12-15 22:02
你的问题是关于模型,不是关于STATA唉
不是模型,是变量处理,把多选题处理成虚拟变量。我又试了自己的方法,不太可行,求帮助

报纸
Alfred_G 学生认证  发表于 2014-12-15 22:59:34
楼主这个确实是模型设置的问题,如果仅仅是数据处理,对于多选题处理还是要参照问卷和你的研究目的。比如说我们给问卷中的多选题录入到数据中,一般都改成多个“是/否”的单选,不知道楼主这个数据是不是这样来的。
然后,看你的目的是要统计
s1-5中选择“有”的频数(recode每个问题,把有设置成1,其他设置成0;然后再累加),还是仅仅是统计“有”和“无”(如果是这样,用replace命令去做就可以,但工作量稍微多一点,原理比较简单)。
总之,还是要看楼主(1)研究目的(2)问卷结构
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
KAWA-KAWA + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
hyu9910 在职认证  发表于 2014-12-16 00:14:14
iorent 发表于 2014-12-15 22:25
不是模型,是变量处理,把多选题处理成虚拟变量。我又试了自己的方法,不太可行,求帮助
一般虚拟变量的取值是二元的。 如果多个离散值的变量变成虚拟变量的话,需要用多个虚拟变量来对应。

还有,如果觉得原始样本数据麻烦的话,也许先检查修正原始样本数据呢?

7
iorent 发表于 2014-12-16 09:10:58
Alfred_G 发表于 2014-12-15 22:59
楼主这个确实是模型设置的问题,如果仅仅是数据处理,对于多选题处理还是要参照问卷和你的研究目的。比如说 ...
多谢耐心解答。
我想要的结果就是你说的格式,每一个变量代表一个选项,然后用是否来表示选择结果。但目前的数据是这样的:该题有9个选项,但录入的时候只有五个变量(可能考虑到应答者最多选五个吧)。如,一个观察值只选了答案1,就把1录入到第一个变量中,后面四个变量皆为不适用;若一个观察值选择了2和5,就分别把2和5录入到前两个变量中,后面三个变量为不适用。请问如何转换成9个选项下的虚拟变量的格式?

8
iorent 发表于 2014-12-16 09:13:36
hyu9910 发表于 2014-12-16 00:14
一般虚拟变量的取值是二元的。 如果多个离散值的变量变成虚拟变量的话,需要用多个虚拟变量来对应。

还 ...
该题是一个多选题,应该算是无序多分类。我想把它转换成我们通常的录入格式,即每一个变量代表一个选项,然后用“是/否”来表示选择结果

9
Alfred_G 学生认证  发表于 2014-12-16 09:32:51
iorent 发表于 2014-12-16 09:10
多谢耐心解答。
我想要的结果就是你说的格式,每一个变量代表一个选项,然后用是否来表示选择结果。但目 ...
用forval循环不知道可不可以:
forval i=1/9 {
     generate dummy`i'=.
          forval j=1/5 {
      replace dummy`i'=1 if s`j'==`i'
      replace dummy`i'=0 if s`j'!=`i'
      }
}
可能这个循环写的不对,大体意思就是:设置九个变量,值为missing,replace替换,用s1-5中等于一的变量替换dummy1的missing,其他为零,等于2的,替换dummy2,其他为零;类推。
   

10
iorent 发表于 2014-12-16 10:43:49
Alfred_G 发表于 2014-12-16 09:32
用forval循环不知道可不可以:
forval i=1/9 {
     generate dummy`i'=.
非常感谢。我不会用循环语句,还要自己研究研究。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 17:13