楼主: woman_sy
18057 3

[编程问题求助] forvalues命令 [推广有奖]

  • 1关注
  • 0粉丝

已卖:11份资源

大专生

26%

还不是VIP/贵宾

-

威望
0
论坛币
205 个
通用积分
1.6202
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2925 点
帖子
23
精华
0
在线时间
60 小时
注册时间
2010-12-8
最后登录
2022-5-26

楼主
woman_sy 发表于 2017-11-4 04:13:06 |AI写论文
5论坛币


想把下面命令写成forvalues的形式,时间从1368-1912年,每20年设置一个虚拟变量。因为一个一个生成虚拟变量磘重复写100多次,所以想请大家帮忙。

gen year1381=0
replace year1381=1 if birthday>=1381&birthyear<=1400
gen year1401=0
replace year1401=1 if birthday>=1401&birthyear<=1420
gen year1421=0
replace year1421=1 if birthday>=1421&birthyear<=1440

数据结构健附件“数据结构”


另外想用OLS模型回归上面的分组虚拟变量(110个:year1381,year1401,year1421…………year1881,year1901,year1912)要怎么写回归方程比较简便,被解释变量是Age。

关键词:forvalues forvalue values value forv

沙发
woman_sy 发表于 2017-11-4 04:15:17
附件是我想要模仿的回归方程,现在不知道要怎么把这么多分组变量,写成一个比较简洁的state命令。
跪求大神指点。

QQ20171104-041111.jpg (25.85 KB)

QQ20171104-041111.jpg

3.jpg (22.47 KB)

3.jpg

数据结构.jpg (68.67 KB)

数据结构.jpg

藤椅
黃河泉 在职认证  发表于 2017-11-4 10:09:35
woman_sy 发表于 2017-11-4 04:15
附件是我想要模仿的回归方程,现在不知道要怎么把这么多分组变量,写成一个比较简洁的state命令。
跪求大神 ...
尔后建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://bbs.pinggu.org/thread-5917273-1-1.html

板凳
我是小肚肚 发表于 2017-11-7 13:19:42
试试这个:
forvalues i=1381(20)1901{
gen year`i'=0
replace year`i'=1 if birthyear>=`i' & birthyear<=(`i'+20)
}
这样就有了1381~1901的虚拟变量,然后再单独设一个1912的虚拟变量就好啦

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

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