楼主: xjtucd
14347 5

[其他] [求助]分组回归后,如何把各组的回归系数和R2存到一个变量里? [推广有奖]

  • 1关注
  • 0粉丝

本科生

3%

还不是VIP/贵宾

-

威望
0
论坛币
178 个
通用积分
1.3500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
457 点
帖子
25
精华
0
在线时间
112 小时
注册时间
2005-8-9
最后登录
2023-10-10

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大侠帮帮忙
二维码

扫码加我 拉你入群

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

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

关键词:分组回归 回归系数 各位大侠 如何

沙发
arlionn 在职认证  发表于 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 |
+---------------------------------+

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
╰不滅信念 + 1 + 1 + 1 精彩帖子

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

使用道具

藤椅
cutoff 发表于 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 来整理
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 10 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

地板
xiaoming008 发表于 2012-7-2 02:09:24 |只看作者 |坛友微信交流群
我也遇到了相同的问题

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-12-25 14:49