虚拟变量交乘项的便捷生成方法

简介 虚拟变量(Dummy variables)和交乘项(Interaction)

在对有组别或者等级的数据进行处理时,常常需要利用虚拟变量和交乘项来探究各组之间或各等级之间的结构性的差异(Structural Difference)

例: 探究睡眠在不同性别间的结构性的差异

use sleep75, clear
sum

基础模型(Basic Model)

添加虚拟变量及交乘项的复杂方法

   gen maletot = male*totwrk
   gen maleeduc = male*educ
   gen maleage = male*age
   gen maleage2 = male*agesq
   gen maleyn = male*yngkid 
   reg sleep totwrk educ age agesq yngkid male* 
   test maletot maleeduc maleage  maleage2 maleyn
   

利用Factor Indicator 的便捷方法

Factor Indicator 的更多应用及详情请见于fvvarlist。

help fvvarlist

简便方式

   reg sleep i.male##c.(totwrk educ age agesq yngkid)
   testparm 1.male 1.male#c.(totwrk educ age agesq yngkid)

注意此处应使用命令 testparm 而非 test

test 不支持 factor indicator 的#语法
若要用test,则需要改写为

test 1.male 1.male#c.totwrk 1.male#c.educ 1.male#c.age 1.male#c.agesq 1.male#c.yngkid

这样则极为冗长和复杂

总结

  1. 利用factor indicator 的语法极大的方便了虚拟变量交乘项的生成
  2. 在回归和检验中均可使用,注意test应用testparm命令替代
  3. 在自变量多的时候,该方法的便捷性更加明显
  4. 可以利用globe 命令将其他需要交乘变量,放入一个全局暂元中,之后直接$引用就好,极大地减少代码的书写量

你可能感兴趣的:(虚拟变量交乘项的便捷生成方法)