作为Stata的新手,我很难弄清楚如何执行以下操作:
我在单个数据文件(即 20 个变量,p01-p10 和 q01-q10)中有 10 种产品的销售价格 (p) 和销售数量 (q) 的时间序列数据。我正在努力使用适当的 stata 命令来计算这 10 种产品(即 pq01-pq10)中每一种产品的销售收入 (pq) 时间序列。
非常感谢您的帮助。
作为Stata的新手,我很难弄清楚如何执行以下操作:
我在单个数据文件(即 20 个变量,p01-p10 和 q01-q10)中有 10 种产品的销售价格 (p) 和销售数量 (q) 的时间序列数据。我正在努力使用适当的 stata 命令来计算这 10 种产品(即 pq01-pq10)中每一种产品的销售收入 (pq) 时间序列。
非常感谢您的帮助。
forval i = 1/10 {
local j : display %02.0f `i'
gen pq`j' = p`j' * q`j'
}
超过 1/10 的标准循环不会让您在 01/09 中获得前导零。为此,我们需要使用适当的格式。也可以看看
@article {pr0051,作者 =“新泽西州考克斯”,标题 =“Stata 提示 85:循环遍历非整数”,期刊 =“Stata 期刊”,出版商 =“Stata Press”,地址 =“德克萨斯大学站”,体积 = "10", number = "1", year = "2010", pages = "160-163(4)", url = "http://www.stata-journal.com/article.html?article=pr0051" }
(稍后添加)另一种方法是
local j = string(`i', "%02.0f")
这使得您从数字 1、...、10 映射到字符串“01”、...、“10”更加明确。