全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
9564 9
2011-02-19
本人需要处理大批量数据的回归。具体如下:有很多个文件,每个文件格式相同,文件内容可以看做一个矩阵,然后利用每一个文件的某几列数据(经过一定地变换)做一次回归,得到的系数为需要的结果。我已经将很简单却繁琐的命令写了出来,不过还需要手动复制粘贴去取系数,很麻烦。很早前的分组回归的帖子也看了,恐怕解决不了我的问题。望各位高手指教。代码如下:
cap log close
drop _all
insheet using "d:\stata\mydata\000001 (1).txt"
gen x=log((v8+v18)/2)
gen y=log(v5)-x
gen z=x[_n+1]
gen w=z-x
regress w y
drop _all
insheet using "d:\stata\mydata\000001 (2).txt"
gen x=log((v8+v18)/2)
gen y=log(v5)-x
gen z=x[_n+1]
gen w=z-x
regress w y
drop _all
insheet using "d:\stata\mydata\000001 (3).txt"
gen x=log((v8+v18)/2)
gen y=log(v5)-x
gen z=x[_n+1]
gen w=z-x
regress w y
drop _all
二维码

扫码加我 拉你入群

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

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

全部回复
2011-2-19 18:26:39
如果这个问题可以解决的话,进一步可以考虑批量重命名的问题。我之前一直用的是matlab和eviews,不过都不精通,后来转用stata来处理。烦请版主再次出手搭救~
二维码

扫码加我 拉你入群

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

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

2011-2-19 22:48:13
已自行用MATLAB解决之,同样渴求STATA程序的出现
二维码

扫码加我 拉你入群

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

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

2011-2-20 11:54:05
*试一下
clear
cap log close
cd "d:\stata\mydata\"
tempfile wy
gen w=.
gen y=.
save `wy'
loca ftxt "000001 (1) 000001 (2) 000001 (3)"
foreach fil of loc `ftxt'{
insheet using `fil'.txt,clear
gen x=log((v8+v18)/2)
gen y=log(v5)-x
gen z=x[_n+1]
gen w=z-x
keep w y
gen f="`fil'"
append using `wy'
save `wy',replace
}
statsby, by(f): regress w y
二维码

扫码加我 拉你入群

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

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

2011-2-20 16:49:24
lyzdz 发表于 2011-2-19 18:25 本人需要处理大批量数据的回归。具体如下:有很多个文件,每个文件格式相同,文件内容可以看做一个矩阵,然后利用每一个文件的某几列数据(经过一定地变换)做一次回归,得到的系数为需要的结果。我已经将很简单却繁琐的命令写了出来,不过还需要手动复制粘贴去取系数,很麻烦。很早前的分组回归的帖子也看了,恐怕解决不了我的问题。
*三次回归的系数(行向量)列入同一矩阵b中。

forv i=1/3{
insheet using "d:\stata\mydata\000001 (`i').txt",clear
g
x=log((v8+v18)/2)
g y=log(v5)-x
g z=x[_n+1]
g w=z-x
reg w y
mat b=(nullmat(b)\e(b))
}

n mat l b
二维码

扫码加我 拉你入群

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

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

2011-3-3 01:00:06
感谢高手的回复! 4# jzhyue
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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