全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5033 9
2015-09-24
悬赏 50 个论坛币 已解决
最近需要合并大量excel表格,格式不统一,年度上有空缺,类型上也有空缺。使用stata如何合并,求助高手。
文件1 文件1
文件2 文件2

希望得到的数据格式如下:
结果

最佳答案

gujun1225 查看完整内容

假定你把所有文件都存为了stata文档 use file1, clear forvalues i=2/500 { append using file`i' } save temp, replace forvalues i=2001/2005 { //嘉定你的年份是介于2001与2005 keep id item `i' gen year=`i' save temp_`i', replace } use temp_2001, clear forvalues i=2002/2005 { append using temp_`i' } save final, replace 最后的效果你自己考虑,reshape或者转置都可以 ...
二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-24 20:21:50
假定你把所有文件都存为了stata文档

use file1, clear
forvalues i=2/500 {
  append using file`i'
  }

save temp, replace

forvalues i=2001/2005 {  //嘉定你的年份是介于2001与2005
  keep id item `i'
  gen year=`i'
  save temp_`i', replace
  }

use temp_2001, clear
forvalues i=2002/2005 {
  append using temp_`i'
  }

save final, replace

最后的效果你自己考虑,reshape或者转置都可以,我就不写了

二维码

扫码加我 拉你入群

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

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

2015-9-24 22:55:02
gujun1225 发表于 2015-9-24 20:42
假定你把所有文件都存为了stata文档

use file1, clear
谢谢回复。现在的难点在于把excel读入stata,成为理想格式的数据。最难解决的是变量名问题。再请教个问题:在用insheet读入文本数据之后,如何使首行作为变量名。因为有的年份有,有的年份没有。直接读入的话,就变成了v1 v2 v3 v4……,下一个文件也是v1  v2,但是v1、v2代表的年份不同。
二维码

扫码加我 拉你入群

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

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

2015-9-25 09:06:58
沧海长啸 发表于 2015-9-24 22:55
谢谢回复。现在的难点在于把excel读入stata,成为理想格式的数据。最难解决的是变量名问题。再请教个问题: ...
踏实点,仔细去读读insheet的帮助
二维码

扫码加我 拉你入群

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

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

2015-9-25 09:56:09
gujun1225 发表于 2015-9-25 09:06
踏实点,仔细去读读insheet的帮助
您批评的是。恕我资质愚钝,我之前认真读了帮助。知道选项中有names选项。可能是我没表达清楚问题,由于文本文件的首行都是“项目 2009 2010”这样的字段,无法直接读入作为变量名。因为有大量文件,逐个改变量名太麻烦。现在正在寻找解决方法。
二维码

扫码加我 拉你入群

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

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

2015-9-25 11:05:17
沧海长啸 发表于 2015-9-25 09:56
您批评的是。恕我资质愚钝,我之前认真读了帮助。知道选项中有names选项。可能是我没表达清楚问题,由于文 ...
如果是这样,使用VBA先去掉首行再说。或者你看看insheet可否指定范围
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群