全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
34456 13
2018-04-22
悬赏 100 个论坛币 未解决
excel中一个变量的排列版式分别以地区、年份为纵列和横列,stata中每个变量单独作为一列,通过加入年份、地区变量进行区分,这样存在一个问题,就是每次先要将excel数据整理成stata版式后导入。如果数据量少还好,可以手动调整。但是年份、地区较多的情况下,每个变量都要整理一次,而且变量很多,如果在excel手动整理很麻烦。请问大侠有没有快捷处理方式?

部分年份、地区的GDP的excel数据如图所示。最好能有具体命令。

1.png

原图尺寸 56.24 KB

1.png

二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-22 20:56:56
二维码

扫码加我 拉你入群

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

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

2018-4-23 09:56:21
蓝色 发表于 2018-4-22 20:56
https://bbs.pinggu.org/thread-6340844-1-1.html
我的数据是从1998-2016年,30个省份,以GDP变量为例,你看看我的命令对不对。另外,input命令中,每个GDP后面都要有年份数字,有18个年份,有没有简介的语句代替?
set more off
input long(ID GDP2016 GDP2015 GDP2014 GDP2013 GDP2012 GDP2011 GDP2010 GDP2009 GDP2008 GDP2007 GDP2006 GDP2005 GDP2004 GDP2003 GDP2002 GDP2001 GDP2000 GDP1999 GDP1998)
(excel数据,如图所示)
reshape long GDP, i(ID) j(year)
gen provice="省份"      ///生成省份名称变量
replace provice="北京" if ID=11    ///对每个省份名称变量赋值
replace provice="天津" if ID=12
replace provice="河北" if ID=13
replace provice="山西" if ID=14
replace provice="内蒙古" if ID=15
(///后面省份命令同上,省略)
end
二维码

扫码加我 拉你入群

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

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

2018-4-24 10:19:36




不知道你是csv格式还是xlsx格式。如果xlsx格式的或者xls格式或者xlsx用import excel哪行,如果是csv用import delimited
cd  "D:/某某文件夹"
local name GDP
import excel using "`name'.xlsx",cellsr(A3) *其中A3是“代码”那几个字所在的单元格。
import delimited using "`name'.csv",rowrange(3) *其中A3是“代码”那几个字所在的单元格。
foreach v in varlist _all{
local a=`v'[1]
if strpos("`a'","19")+strpos("`a'","20")>0{
rename  `v' `name'`a'
label var `v' "`a'年`name'"
}
else{
label var `v'  `a'
}
}
drop in 1
reshape long `name',i(A B C)j(year)

你没放excel也不知道这样子代码会不会报错。


二维码

扫码加我 拉你入群

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

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

2018-4-24 20:18:13
天南水北 发表于 2018-4-24 10:19


嗯嗯,谢谢,问题解决~
二维码

扫码加我 拉你入群

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

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

2018-5-7 15:48:45
在excel中将面板数据转化为stata需要的格式,操作简单,不必手动复制粘帖
可以参考下这个~
我一直都是在excel中转好然后再复制到stata里。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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