我正在尝试使用foreach
循环为七个文件附加面板数据。
我知道Stata中要附加和理解foreach
命令的代码。
这是我拥有的代码,我认为这是正确的:
use "C:\Users\main\Documents\German patent applications 1996.dta"
foreach k in 1997 1998 1999 2000 2001 2002{
append using "C:\Users\main\Documents\German patent applications "'k'".dta"
}
应将所有七个文件的数据附加到一个包含年份1996-2002
的数据集中。
但是,当我运行此代码时,我收到错误消息:
引号太少 r(132)
我显然正在尝试将k
值用作文件名中的字符串,以便可以将其附加。
我在做什么错,我该如何解决?
答案 0 :(得分:2)
假设文件名的格式为:
German patent applications 1997.dta
以下对我有用:
foreach k in 1997 1998 1999 2000 2001 2002{
display "C:\Users\main\Documents\German patent applications `k'.dta"
}
C:\Users\main\Documents\German patent applications 1997.dta
C:\Users\main\Documents\German patent applications 1998.dta
C:\Users\main\Documents\German patent applications 1999.dta
C:\Users\main\Documents\German patent applications 2000.dta
C:\Users\main\Documents\German patent applications 2001.dta
C:\Users\main\Documents\German patent applications 2002.dta