楼主: lclray3
11459 24

[编程问题求助] stata中如何能随机选择变量进行回归 [推广有奖]

21
gjy0707 发表于 2019-10-26 21:38:12
想请教一下,如果各变量的个数不一样怎么办,不想将所有变量都删除至最小样板,谢谢
. set obs 399
number of observations (_N) was 399, now 399

. gen y=uniform()

. local n=31

. forva i=1/`n' {
  2. gen x`i'=uniform()
  3. }

. local m=9

. local m1=`n'-`m'+1

. local m2=`n'-`m'+2

. local m3=`n'

. local k1=9         

. forvalue i=1/`m1' {
  2. global xlist1="x`k1'"
  3. local k2=`k1'+1
  4. forvalue a=`k2'/`m2' {
  5. global xlist2="$xlist1 x`k2'"
  6. local k3=`k2'+1
  7. forvalue b=`k3'/`m3' {
  8. global xlist3="$xlist2 x`k3'"
  9. forvalue c=`k4'/`m4' {
10. global xlist4="$xlist3 x`k4'"
11. local k5=`k4'+1
12. forvalue d=`k5'/`m5' {
13. global xlist5="$xlist4 x`k5'"
14. local k6=`k5'+1
15. forvalue e=`k6'/`m6' {
16. global xlist6="$xlist5 x`k6'"
17. local k7=`k6'+1
18. forvalue f=`k7'/`m7' {
19. global xlist7="$xlist6 x`k7'"
20. local k8=`k7'+1
21. forvalue f=`k8'/`m8' {
22. global xlist8="$xlist7 x`k8'"
23. local k9=`k8'+1
24. forvalue k=`k9'/`m9' {
25. global xlist="$xlist8 x`k9'"
26. local k9=`k9'+1
27. foreach y in var1 var2 var3 var4 var5 var6 var7{
28. reg y var8 $xlist
29. est store main_"k`i'"
30. }
31. local k9=`k9'+1
32. }
33. local k8=`k8'+1
34. }
35. local k7=`k7'+1
36. }
37. local k6=`k6'+1
38. }
39. local k5=`k5'+1
40. }
41. local k4=`k4'+1
42. }
43. local k3=`k3'+1
44. }
45. local k2=`k2'+1
46. }
47. local k1=`k1'+1
48. }
invalid syntax
r(198)

22
gjy0707 发表于 2019-10-27 19:01:39
彭旋px 发表于 2016-1-9 12:34
问题在于定义xlist2时掉了一个"$",在定义xlist2这个全局暂元时,应引用"$xlist1"这个全局暂元,而不是"xl ...
您好,由于我用自己的数据(数据的观测值并不都一样)用forvalue运行的时候,发现好像并没有用我的数据。
所以想问一下,如果自己有一套变量,一套控制变量,想用foreach在11各变量中选1-3个,20个控制变量中选1-6个随机排列组合,可以实现吗?谢谢大佬指点

23
shidakaia9 发表于 2020-4-11 08:20:48
lclray3 发表于 2013-11-20 21:13
我在运行的时候出现了错误,再麻烦你一下,帮我看一下这是什么错误。
我也出现同样的问题,后面您是怎么解决的麻烦问一下,谢谢

24
g8fast 发表于 2020-4-19 02:52:36
ywh19860616 发表于 2013-11-21 08:43
这样只能实现一组回归y=x1+x2+x3,而我想实现y分别对x1,x2;x1,x3;x2,x3的回归。
抱歉,还想没有懂 ...
您好楼主,请问您解决这个疑惑了吗?我也遇到了这个问题

25
g8fast 发表于 2020-4-19 02:55:47
ywh19860616 发表于 2013-11-21 08:43
这样只能实现一组回归y=x1+x2+x3,而我想实现y分别对x1,x2;x1,x3;x2,x3的回归。
抱歉,还想没有懂 ...
您好请问这个问题解决了吗?我也遇到同样问题,希望得到解答

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-8 15:11