【发布时间】:2015-06-15 10:51:20
【问题描述】:
我想遍历 Stata 中字符串变量的特定子集向量。我有一个像这样的数据集:
id country effect period
1 US 0.20 2
2 US 0.25 3
3 Japan 0.37 2
4 Germany 0.22 3
5 US 0.11 3
6 Japan 0.43 1
7 Ireland 0.30 1
...
我不想遍历国家/地区变量的所有值,而只想遍历特定值,例如美国和日本。我试过了:
levelsof country if country=="US" | country=="Japan", local(countrylev)
levelsof period, local(periodlev) //periods are 1,2,3,4
mat m = J(2,4,.)
local i=1
local j=1
foreach x of local countrylev {
foreach per of local periodlev {
mat m[`i',`j']=`per' *2
local ++j
mat m[`i',`j']=`per' *3
local ++j
mat m[`i',`j']=`per' *3
local ++j
mat m[`i',`j']=`per' *4
local ++i
local j=1
}
matrix list m
}
但是这只循环通过“日本”...
【问题讨论】:
-
描述其最终目的可能会为您提供更好的建议。
-
这个问题还没有产生一个可理解的、清晰的和可重现的问题。我在更新的答案中评论了您修改后的代码。随着代码减少到微不足道的程度,我认为您编辑了真正的问题。
-
你完全正确。对此感到抱歉。我将删除我的问题,因为它对其他用户没有价值。