将Stata中的大文件拆分为较小的文件

时间:2014-10-25 14:19:41

标签: stata

我在Stata中有一个100 MB的文件,每个公司包含260个观察值。我的样本中有大约4000家公司。因此,时间序列数据一个接一个地堆叠在一起,每个公司,一个公司接一个在一个文件中。我想将此文件拆分为较小的文件,一个公司的文件。我尝试在Stata中使用forval循环,我得到的只是计数器' i'是无效的名称。我使用的循环如下:

   forval i=1/4000 {
   use "file.dta" if internalid=='i',clear
   save "newfile_'i'"
   }

1 个答案:

答案 0 :(得分:1)

您的数据形式很长,对于许多类型的分析,这通常是拥有它的最佳方式。但是,如果你真的需要拆分它,这是一个例子:

clear
set more off

*----- example data -----

input ///
id x
1 38
1 57
1 43
2 35
2 98
end

tempfile main
save `main'

*----- what you want ----

forval i = 1/2 {
    use `main' if id == `i', clear 
    save id`i'
}

这是Stata FAQ