Stata:使用foreach和substr()来修改变量名

时间:2016-01-15 16:53:28

标签: foreach stata

我有一组变量,其名称包含与div_unemp03div_unemp04div_unemp14div_ue03foreachforeach x of var unemp* { local new = substr(`x', 10, 2) rename `x' div_ue`new' } 唯一的两位数年份相同的前缀 我想将这些变量重命名为type mismatch,...

我尝试使用kFirebaseServerValueTimestamp循环执行此操作,如下所示:

NSDictionary

Stata会读取错误代码NSString

理解此错误以及如何达到预期效果的任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

substr函数需要字符串作为其第一个参数。此外,您的varlist语法unemp*将不会捕获名为div_unemp##的变量,因为它们开始 unemp(生成“类型不匹配”错误)。下面的(可重现的)示例显示了两种更正。

clear
input div_unemp03 div_unemp04 div_unemp05
1 1 1
end

foreach x of varlist *unemp* {
    local new = substr("`x'", 10, 2)
    rename `x' div_ue`new'
}

另请注意,substr()允许您从字符串的 end 开始计算,因此substr("s", -2, 2)可以正常工作。

答案 1 :(得分:1)

您只需使用{{1}}命令就可以在一行中完成相同的操作:

{{1}}