楼主: may05lzu
3724 7

[数据管理求助] 求助!在stata处理数据时,遇到以下问题,希望大家能予以解答。 [推广有奖]

  • 0关注
  • 0粉丝

博士生

77%

还不是VIP/贵宾

-

威望
0
论坛币
376 个
通用积分
0.3600
学术水平
2 点
热心指数
4 点
信用等级
1 点
经验
1850 点
帖子
193
精华
0
在线时间
366 小时
注册时间
2009-9-19
最后登录
2023-8-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助!各位高手,小弟在stata处理数据时,遇到以下问题,希望大家能予以解答。
数据格式如下:
编号       日期       变量1               
1          2004       国家            
1          2005       法人
1          2006       境外法人,国有
2          2005         ……
2          2006
3          2004
3          2005
3          2006         
4          2006
5          2004
5          2005
5          2006
……
我的问题是:
1.每个编号应该有2004-2006三年的数据,如果缺失(如编码2和4),则应当删除,应该如何实现呢?
2.产生虚拟变量“变量2” ,当“变量1”中的字段包含“国”时则变量2=1,否则为0。
注:变量1为字符型变量,长度不起,为说明性文字。
此外,在考虑另一个回归模型时:y=a+b*x
要对上述每个编码做一个回归(每个编码有上百个数据,共有上百个编码),并保留每次回归的R-squared,同时形成一个新的表格如下格式:
编码   R-squared
1      
2
3
……
不知这又该如何实现呢?
写论文急用,先行谢过大家了!
二维码

扫码加我 拉你入群

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

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

关键词:Stata 处理数据 tata Squared Square Stata 求助!

回帖推荐

sungmoo 发表于4楼  查看完整内容

g r2=. levelsof id,l(id) foreach i of num `id'{ reg y x if id==`i' replace r2=e(r2) if id==`i' } keep id r2 bys id: keep if _n==1

本帖被以下文库推荐

奋斗!在奋斗!再奋斗!
沙发
sungmoo 发表于 2010-3-22 21:38:51 |只看作者 |坛友微信交流群
may05lzu 发表于 2010-3-22 20:41 1.每个编号应该有2004-2006三年的数据,如果缺失(如编码2和4),则应当删除,应该如何实现呢?
*如果编号只有2004、2005、2006三种值

bys id: egen a=count(date)
drop if a<3
drop a
已有 1 人评分论坛币 热心指数 收起 理由
SpencerMeng + 10 + 1 我很赞同

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

使用道具

藤椅
sungmoo 发表于 2010-3-22 21:43:32 |只看作者 |坛友微信交流群
may05lzu 发表于 2010-3-22 20:41 2.产生虚拟变量“变量2” ,当“变量1”中的字段包含“国”时则变量2=1,否则为0。
注:变量1为字符型变量,长度不起,为说明性文字。
g var2=indexnot("国",var1)==0
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
zuihoudeyezi + 3 + 3 + 3 精彩帖子
SpencerMeng + 1 热心帮助其他会员

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

使用道具

板凳
sungmoo 发表于 2010-3-22 21:52:11 |只看作者 |坛友微信交流群
may05lzu 发表于 2010-3-22 20:41 此外,在考虑另一个回归模型时:y=a+b*x
要对上述每个编码做一个回归(每个编码有上百个数据,共有上百个编码),并保留每次回归的R-squared,同时形成一个新的表格如下格式:
编码   R-squared
1      
2
3
……
不知这又该如何实现呢?
g r2=.
levelsof id,l(id)
foreach i of num `id'{
reg y x if id==`i'
replace r2=e(r2) if id==`i'
}
keep id r2
bys id: keep if _n==1

使用道具

报纸
h3327156 发表于 2010-3-22 22:24:17 |只看作者 |坛友微信交流群
版主真是答地太好了!!!
像这样的解答
我都有收藏

最近我自己也在写loop
开始摸索forvalue与foreach

string function的指令  indexnot用地很棒

真是受益良多
感谢

使用道具

地板
may05lzu 发表于 2010-3-23 08:26:55 |只看作者 |坛友微信交流群
版主太伟大了,不胜感激!
奋斗!在奋斗!再奋斗!

使用道具

7
日复一日12 发表于 2013-12-3 00:21:24 |只看作者 |坛友微信交流群
sungmoo 发表于 2010-3-22 21:43
g var2=indexnot("国",var1)==0
版主你好 这里有个问题不明白:
g var2=indexnot("国", VAR1)==0 这个命令中,如果有包含VAR1中有包含 国 那么indexnot返回的应该是0值,没有包含国,返回的是1 值, 那么这个命令产生时候应该是和楼主的要求相反的呀 好奇怪。

使用道具

8
peyzf 发表于 2015-3-8 22:34:24 |只看作者 |坛友微信交流群
not very clear~

使用道具

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

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

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

GMT+8, 2024-4-28 20:07