楼主: 天斯吾下
12360 5

[数据管理求助] egen group报错variable __000001 not found r(111) [推广有奖]

  • 7关注
  • 4粉丝

已卖:11份资源

副教授

53%

还不是VIP/贵宾

-

威望
0
论坛币
1176 个
通用积分
87.5911
学术水平
8 点
热心指数
14 点
信用等级
7 点
经验
92 点
帖子
443
精华
0
在线时间
713 小时
注册时间
2013-3-6
最后登录
2021-7-19

楼主
天斯吾下 学生认证  发表于 2015-6-4 11:44:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
_pctile sat, percentile(1 99)
_pctile math, percentile(1 99)
_pctile english, percentile(1 99)
_pctile grades, percentile(1 99)
global m "sat math english grades"
foreach v in $m{
drop if `v'<r(r1)
drop if `v'>r(r2)
}
gen rank=4       if highschol=="level1"
replace rank=3   if highschol=="level2"
replace rank=2   if highschol=="level3"
replace rank=1   if highschol=="level4"
gen other = sat-math-english
egen term=group(acyrstart acterm)
variable __000001 not found
r(111);
我的数据在附件里,不知道为什么会报错

二维码

扫码加我 拉你入群

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

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

关键词:Variable found Group egen ABLE english

econometrics_2015.zip
下载链接: https://bbs.pinggu.org/a-1805808.html

246.38 KB

data

本附件包括:

  • econometrics_2015.dta

沙发
andruw 在职认证  发表于 2015-6-4 14:43:54
循环中r(r1)和r(r2)是变量grades的1%和99%的值。建议修改如下:
  1. global m "sat math english grades"
  2. foreach v in $m{
  3. _pctile `v', percentile(1 99)
  4. drop if `v'<r(r1)
  5. drop if `v'>r(r2)
  6. }
  7. gen rank=4       if highschol=="level1"
  8. replace rank=3   if highschol=="level2"
  9. replace rank=2   if highschol=="level3"
  10. replace rank=1   if highschol=="level4"
  11. gen other = sat-math-english
  12. egen term=group(acyrstart acterm)
复制代码

藤椅
天斯吾下 学生认证  发表于 2015-6-4 18:46:24
andruw 发表于 2015-6-4 14:43
循环中r(r1)和r(r2)是变量grades的1%和99%的值。建议修改如下:
这个代码我想过,我觉得您这样写和我那样写意义不同。您的方法必然导致删除8%的样本,而我的方法应该是删除了小于8%的样本。因为您是一个变量一个变量地标记分位数再删除,而我的是对所有变量先标记分位数再删除,所以我的删除方法中同一个观测值可能同时属于sat math的99%分位数以上,但是您的方法是不能做到的。

板凳
andruw 在职认证  发表于 2015-6-4 20:36:56
天斯吾下 发表于 2015-6-4 18:46
这个代码我想过,我觉得您这样写和我那样写意义不同。您的方法必然导致删除8%的样本,而我的方法应该是删 ...
抱歉,试试这个:
  1. global m "sat math english grades"
  2. foreach v in $m{
  3. _pctile `v', percentile(1 99)
  4. scalar `v'_1 = r(r1)
  5. scalar `v'_99 = r(r2)
  6. }


  7. foreach v in $m{

  8. drop if  `v' < `v'_1
  9. drop if  `v' > `v'_99
  10. }

  11. gen rank=4       if highschol=="level1"
  12. replace rank=3   if highschol=="level2"
  13. replace rank=2   if highschol=="level3"
  14. replace rank=1   if highschol=="level4"
  15. gen other = sat-math-english
  16. egen term=group(acyrstart acterm)
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
SpencerMeng + 120 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 120  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

报纸
天斯吾下 学生认证  发表于 2015-6-5 09:06:31
andruw 发表于 2015-6-4 20:36
抱歉,试试这个:
OK,谢谢!

地板
lww文 学生认证  发表于 2020-10-9 23:21:22 来自手机
请问楼主问题解决了吗

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

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