我可以在 Stata 中递归命名文件吗?
Can I name files recursively in Stata?
我正在为 2001 年到 2010 年的每一年创建一个测试文件。我为 2001 年的文件定义了一些变量,然后,从 2002 年开始,我希望 Stata 将它与前一年的文件合并。
我的最小工作示例如下所示:
set obs 100
g year=2001
g casenum=_n
g yob=1973
save file_2001, replace
forv n=2002(1)2010{
clear
set obs 110
g casenum=_n
g year=`n'
merge 1:1 casenum using file_`n-1', keepusing (yob)
save file_`n', replace
}
我收到的错误是 file_2002.dta 未找到。有人有什么建议吗?
这一行:
merge 1:1 casenum using file_`n-1', keepusing (yob)
没有名为 n-1 的本地宏。这应该是 `=`n'-1'
我正在为 2001 年到 2010 年的每一年创建一个测试文件。我为 2001 年的文件定义了一些变量,然后,从 2002 年开始,我希望 Stata 将它与前一年的文件合并。 我的最小工作示例如下所示:
set obs 100
g year=2001
g casenum=_n
g yob=1973
save file_2001, replace
forv n=2002(1)2010{
clear
set obs 110
g casenum=_n
g year=`n'
merge 1:1 casenum using file_`n-1', keepusing (yob)
save file_`n', replace
}
我收到的错误是 file_2002.dta 未找到。有人有什么建议吗?
这一行:
merge 1:1 casenum using file_`n-1', keepusing (yob)
没有名为 n-1 的本地宏。这应该是 `=`n'-1'