文件名的一部分作为变量
Part of file name as a variable
我有一个名称相似的文件列表,例如:
- 2002_file
- 2003_file
- 2004_file
我要运行一个简单的脚本:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 {
use "$input\`year'_file.dta ", clear
keep v1 v2 v3
tab v1, gen (v1_dummy)
gen year = 'x'
save "$output\`year'_newfile.dta ", replace
}
但是,我想为其中一个文件创建相应的年份变量。
如何添加变量 year = 'year'
?
您没有在任何地方定义本地宏 x
。
以下应该有效:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 {
use "$input\`year'_file.dta ", clear
keep v1 v2 v3
tab v1, gen (v1_dummy)
gen year = `year'
save "$output\`year'_newfile.dta ", replace
}
仅限特定年份:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 {
use "$input\`year'_file.dta ", clear
keep v1 v2 v3
tab v1, gen (v1_dummy)
if `year' == 2005 gen year = `year'
save "$output\`year'_newfile.dta ", replace
}
我有一个名称相似的文件列表,例如:
- 2002_file
- 2003_file
- 2004_file
我要运行一个简单的脚本:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 {
use "$input\`year'_file.dta ", clear
keep v1 v2 v3
tab v1, gen (v1_dummy)
gen year = 'x'
save "$output\`year'_newfile.dta ", replace
}
但是,我想为其中一个文件创建相应的年份变量。
如何添加变量 year = 'year'
?
您没有在任何地方定义本地宏 x
。
以下应该有效:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 { use "$input\`year'_file.dta ", clear keep v1 v2 v3 tab v1, gen (v1_dummy) gen year = `year' save "$output\`year'_newfile.dta ", replace }
仅限特定年份:
foreach year in 2002 2003 2004 2005 2006 2007 2008 2009 2011 2012 2013 2014 2015 { use "$input\`year'_file.dta ", clear keep v1 v2 v3 tab v1, gen (v1_dummy) if `year' == 2005 gen year = `year' save "$output\`year'_newfile.dta ", replace }