Brdic 发表于 2013-7-20 17:00
感谢回复!
我重新研究了一下程序,
merge 1:1 mat`i' using `tmp',keep(match master) 意思是要把数据 ...
为什么说前面没有呢?`tmp' 在loop外面已经保存过了啊。在loop中只不过使用不同的变量重新排序并再次保存的。
我重新改了下,但是最后
replace y2=`mean' in `i' 这一句命令没有把均值放在第i行,我单独运行时提示是0个值发生改变,不知怎么回事
Sorry,这是一个typo,打字的时候打错了。这个应该将local mean=s(mean)改为local mean=r(mean). sum 命令的所有结果都存在r()中,你可以使用return list查看sum运算的所有结果。
另外,根据
save `tmp',replace
qui des /* quietly describe*/
local k=r(k)
k是根据tmp这个文件来定义,是不是一直要打开tmp这个文件k才能循环,因为中间我又打开了数据文件,这样才能提取x,并合并,最后执行这个循环好像循环不了了。
k是根据tmp这个文件来定义不错,但是一旦定义好了之后,就跟这个临时文件没关系了。k只表示有多少个变量。
还有,实际上我是面板数据,上面的程序只是完成了一个年份的,如果要把所有年份的都弄一遍,是不是还要弄个大循环?
你可以做嵌套循环。外循环是基于年的,内循环基于国家。


雷达卡


京公网安备 11010802022788号







