全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
14588 5
2007-09-24
各位大侠帮帮忙
二维码

扫码加我 拉你入群

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

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

全部回复
2007-9-24 21:26:00

first, you can write them in a matrix;

then transform the matrix into a variable.

for example:

*-> Generate dataset
clear
set obs 100
set seed 13579
gen e = invnorm(uniform())
forvalues i = 1(1)10{
gen x_`i' = `i' + `i'*invnorm(uniform())
}
gen y = x_1 + x_2 + e

*-> Regression and record the results
mat aa = J(10,3,0)
forvalues i=1(1)10{
reg y x_`i'
mat aa[`i',1] = (_b[_cons],_b[x_`i'],e(r2))
}

*-> Presenting results
mat colnames aa = _cons x R2
mat list aa
svmat aa, names(r)
list r* in 1/10

* Given by Arlion, arlionn@163.com

* === the results=====

. mat list aa

aa[10,3]
_cons x R2
r1 2.197865 .81739822 .11566624
r2 1.0777354 .9542421 .69421448
r3 2.7370277 .09824314 .01268297
r4 2.705197 .06487209 .01096211
r5 2.66488 .0597639 .0165342
r6 2.652783 .05263239 .01797095
r7 3.3185105 -.04159638 .01028677
r8 2.7299905 .03841558 .01417722
r9 3.1960058 -.0214982 .00514277
r10 3.1034818 -.01074885 .00200037

. svmat aa, names(r)

. list r* in 1/10

+---------------------------------+
| r1 r2 r3 |
|---------------------------------|
1. | 2.197865 .8173982 .1156662 |
2. | 1.077735 .9542421 .6942145 |
3. | 2.737028 .0982431 .012683 |
4. | 2.705197 .0648721 .0109621 |
5. | 2.66488 .0597639 .0165342 |
|---------------------------------|
6. | 2.652783 .0526324 .017971 |
7. | 3.318511 -.0415964 .0102868 |
8. | 2.72999 .0384156 .0141772 |
9. | 3.196006 -.0214982 .0051428 |
10. | 3.103482 -.0107489 .0020004 |
+---------------------------------+

二维码

扫码加我 拉你入群

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

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

2007-9-25 09:21:00

去查statsby 语句.

这个语句可以直接实现.

二维码

扫码加我 拉你入群

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

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

2007-9-25 12:07:00

arlionn的方法是让你理解stata的底层的原理,

明白了最底层的原理,以后什么都可以自己手动去作了。

二维码

扫码加我 拉你入群

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

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

2010-8-2 22:33:00
arlionn 的方法有点儿麻烦
而且要扩充营业(多加 explanatory variables)并不易

回归后打
ereturn list
你会发现所有回归系数都已经藏在 e numbers 内
你只要使方法从 e numbers 内拿出来便行

matrix coeff=e(b)'
matrix se=sqrt(vecdiag(e(V))')
matrix r2=e(r2)

svmat coeff
svmat se
svmat r2

如果要输出另存一个数据档案可以用
outsheet coeff se r2 if coeff~=. using results.csv, replace


要分组的便跟 arlionn  的方法用 looping
但核心用 e numbers 可以少花许多工夫
之后再用 reshape / merge / append 来整理
二维码

扫码加我 拉你入群

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

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

2012-7-2 02:09:24
我也遇到了相同的问题
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群