尝试将foreach值用作字符串时出现“引号太少”错误消息

时间:2019-03-26 22:49:01

标签: string foreach stata

我正在尝试使用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值用作文件名中的字符串,以便可以将其附加。

我在做什么错,我该如何解决?

1 个答案:

答案 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