楼主: JaeXxin
865 2

[面板数据求助] 只有2000-2017年的数据,如何追加或插入2018年的数据并保持2018和2017年的数据相同 [推广有奖]

  • 0关注
  • 0粉丝

高中生

37%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
90 点
帖子
4
精华
0
在线时间
44 小时
注册时间
2018-2-24
最后登录
2020-3-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
只有每只股票2000-2017年的数据,如何在每只股票后面追加或插入2018年的数据并保持其与2017年的数据相同
code        year        province        city
1        2014        广东省        深圳市
1        2015        广东省        深圳市
1        2016        广东省        深圳市
1        2017        广东省        深圳市
2        1998        广东省        深圳市
2        1999        广东省        深圳市
2        2000        广东省        深圳市


二维码

扫码加我 拉你入群

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

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

关键词:province vince City code year

沙发
欣心兰 发表于 2020-5-22 10:46:55 |只看作者 |坛友微信交流群
*一个笨办法:
*假设目前有b行数据

*每只股票追加插入2018年对应的行
set obs b+1
replace year == 2018 if code == .
replace code = 1 if code == .
tsfill, full

* 将2018年值替换为与2017年一致
gsort code year
foreach i of  varlist province-city {
replace `i'=`i'[_n-1] if `i'==.
}

使用道具

藤椅
Benlaron 发表于 2020-5-22 12:39:10 |只看作者 |坛友微信交流群
Hi,

我觉得你应该尝试用一下append

将2018年的数据按照2000-2017的数据格式整理好,保存为新数据集data2018.dta,如下
code        year        province        city
1        2018        广东省        深圳市
2        2018        广东省        深圳市

然后你导入2000-2017的数据集后,加
  1. append using data2018
  2. sort code year
复制代码


即可实现

Hope it helps

使用道具

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

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

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

GMT+8, 2024-4-28 10:48