Stata 中值标签的大写

发布于 2024-10-21 17:33:58 字数 272 浏览 1 评论 0原文

一些数据集带有全小写的值标签,我最终得到的图表和表格显示了“埃及”、“约旦”和“沙特阿拉伯”的结果,而不是大写的国家名称。

我猜想 proper() 字符串函数可以为我做点什么,但我没有找到为 Stata 11 编写代码的正确方法,该代码将给定变量的所有值标签大写。

我基本上需要在变量上的所有值标签上运行 proper() 函数,然后将它们分配给变量。在 Stata 中使用 foreach 循环和宏可以实现这一点吗?

Some datasets come with full-lowercase value labels, and I end up with graphs and tables showing results for "egypt", "jordan" and "saudi arabia" instead of the capitalized country names.

I guess that the proper() string function can do something for me, but I am not finding the right way to write the code for Stata 11 that will capitalize all value labels for a given variable.

I basically need to run the proper() function on all value labels on the variable, and then assign them to the variable. Is that possible using a foreach loop and macros in Stata?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

药祭#氼 2024-10-28 17:33:58

是的。首先,让我们创建一些带有标签的示例数据以进行测试:

clear
drawnorm x, n(10)
gen byte v = int(4+x)
drop x
label define types 0 "zero" 1 "one" 2 "two" 3 "three" 4 "four" 5 "five" 6 "six"
label list types
label values v types

这是一个宏,用于将与变量“v”关联的值大写:

local varname v
local sLabelName: value label `varname'
di "`sLabelName'"

levelsof `varname', local(xValues)
foreach x of local xValues {
    local sLabel: label (`varname') `x', strict
    local sLabelNew =proper("`sLabel'")
    noi di "`x': `sLabel' ==> `sLabelNew'"
    label define `sLabelName' `x' "`sLabelNew'", modify
}

运行后,检查结果:

label list types

Yes. First let's create some sample data with labels for testing:

clear
drawnorm x, n(10)
gen byte v = int(4+x)
drop x
label define types 0 "zero" 1 "one" 2 "two" 3 "three" 4 "four" 5 "five" 6 "six"
label list types
label values v types

Here's a macro to capitalize the values associated with the variable "v":

local varname v
local sLabelName: value label `varname'
di "`sLabelName'"

levelsof `varname', local(xValues)
foreach x of local xValues {
    local sLabel: label (`varname') `x', strict
    local sLabelNew =proper("`sLabel'")
    noi di "`x': `sLabel' ==> `sLabelNew'"
    label define `sLabelName' `x' "`sLabelNew'", modify
}

After running it, check the results:

label list types
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文