楼主: 流星哥哥
1866 13

[回归分析求助] 请教 分组回归 谢谢 [推广有奖]

  • 2关注
  • 0粉丝

本科生

55%

还不是VIP/贵宾

-

威望
0
论坛币
618 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
736 点
帖子
42
精华
0
在线时间
146 小时
注册时间
2016-12-24
最后登录
2019-3-28

楼主
流星哥哥 发表于 2018-3-18 09:27:59 |AI写论文
10论坛币
按照股权比例大小进行分组,当第一大股东持股比例(big1)<20%,是股权分散。

当第一大股东持股比例(big1)>50%,是绝对控股。


当第一大股东持股比例(big1)在20%和50%之间,第二大股东持股比例(big2)和第一大股东持股比例的比值<50%,是相对控股。


当第一大股东持股比例在20%和50%之间,第二大股东持股比例和第一大股东持股比例的比值>50%,是股权制衡。


  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year double(big1 big2 acc cfo)
  4. 2014               .3778               .1489  -.08118224863322933  .17968114909484129
  5. 2014 .038900000000000004 .030899999999999997  -.02280445317726984 .024422597862104257
  6. 2014               .4475               .1575 -.033411347202574423   .0756632195676943
  7. 2014               .3276               .0158  .014458193265354446  .05247302164505763
  8. 2014               .2939  .24059999999999998  -.03791441030283306 .057929100893538824
  9. 2014               .1461               .1331   .17526998039090438  .21777301832633544
  10. 2014               .3629 .029300000000000003 -.025309904953391773  .09901303706516366
  11. 2014               .2107               .0192  -.08512141222090994  .09070240738877655
  12. 2014               .4765               .0227   .04069635245939715 -.01749361859394395
  13. 2014                 .43               .0095     .089857393245443 -.06416517189223805
  14. end
复制代码


我写的代码如下。但是执行到第三行的时候,没有将j1替换为2,或者我先执行第三行,再执行第二行,j1没有替换为1。请各位老师指点。谢谢!

  1. gen j1=0
  2. replace j1=1 if big1<0.2 //股权分散
  3. replace j1=2 if big1>0.5  ///绝对控股
  4. gen rate1=b2/b1
  5. replace j1=3 if big1>=0.2 & big1<=0.5  &  rate<0.5   ///相对控股
  6. replace j1=4 if big1>=0.2 & big1<=0.5  &  rate>=0.5  ///股权制衡
复制代码



关键词:分组回归 generated generate replace install

回帖推荐

军少 发表于11楼  查看完整内容

注释命令应该是// ///是分行命令 我认为是用错了,修改下试试

黃河泉 发表于5楼  查看完整内容

沙发
黃河泉 在职认证  发表于 2018-3-18 09:28:00
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(big1 big2)
  4. .15  .1
  5. .6  .2
  6. .33 .22
  7. .42 .15
  8. end

  9. gen r = big2/big1

  10. // 股权分散 d = 1
  11. gen d = (big1<0.2)
  12. // 绝对控股 d = 2
  13. replace d = 2 if big1>0.5
  14. // 相对控股 d = 3
  15. replace d = 3 if big1>=0.2 & big1<=0.5 & r<0.5
  16. // 股权制衡 d = 4
  17. replace d = 4 if big1>=0.2 & big1<=0.5 & r>=0.5
复制代码

藤椅
蓝色 发表于 2018-3-18 09:52:27
你的数据也没有big1是大于0.5的当然没有将j1替换为2

板凳
军少 学生认证  发表于 2018-3-18 09:52:31
数据里面有big1大于0.5的样本?

报纸
黃河泉 在职认证  发表于 2018-3-18 11:20:48
初步看起来,你的程序似乎没错,问题在于你的资料不具"代表性",应该包含你要的四种状况。

地板
流星哥哥 发表于 2018-3-18 17:07:09 来自手机
蓝色 发表于 2018-3-18 09:52
你的数据也没有big1是大于0.5的当然没有将j1替换为2
样本里面是有的 我只是截取了部分样本

7
流星哥哥 发表于 2018-3-18 17:09:55 来自手机
黃河泉 发表于 2018-3-18 11:20
初步看起来,你的程序似乎没错,问题在于你的资料不具&quot;代表性&quot;,应该包含你要的四种状况。
样本里面是有的 这只是部分截取的 。
我纳闷的是为何执行replace的时候似乎只能替换1次,比如我要是先执行替换为2的语句,再执行替换为1的语句,则只会替换成2,而没有替换成1的了。

8
黃河泉 在职认证  发表于 2018-3-18 17:21:28
流星哥哥 发表于 2018-3-18 17:09
样本里面是有的 这只是部分截取的 。
我纳闷的是为何执行replace的时候似乎只能替换1次,比如我要是先执行 ...
我当然知道你的资料有,用 dataex 来发"代表性"资料,才能让人提供完整的程序。

9
黃河泉 在职认证  发表于 2018-3-18 17:25:35
流星哥哥 发表于 2018-3-18 17:09
样本里面是有的 这只是部分截取的 。
我纳闷的是为何执行replace的时候似乎只能替换1次,比如我要是先执行 ...
注释不要写在指令之最后(我认为是不好的习惯,当然一定有人与我有不同看法),例如 /// 是要连到下一列(你的问题出在此,请看看我的写法)。
已有 1 人评分经验 论坛币 收起 理由
葫芦娃大王 + 10 + 5 精彩帖子

总评分: 经验 + 10  论坛币 + 5   查看全部评分

10
军少 学生认证  发表于 2018-3-19 10:32:41
黃河泉 发表于 2018-3-18 17:25
注释不要写在指令之最后(我认为是不好的习惯,当然一定有人与我有不同看法),例如 /// 是要连到下一列( ...
黄兄说的是,是那个注释命令应该是//,他好像都写成分行命令了///

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

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