Stata代码解释

Stata code interpretation

我在阅读一份使用 Stata 代码的报告时遇到困难。我只知道 Stata 的非常简单的基础知识,但即使 Google 的帮助也没有加速我的工作。 这段代码的第二部分是做什么的?有一个标准数据集,其中列作为标签,行作为不同年份每个季度的观察值。 我看到生成了时间变量并指定了时间序列。支持文本说这会计算增长率(从一个季度到另一个季度),然后对某些变量中的数据进行标准化。所以,

什么是

`x'_gr = .. 

部分呢?我不能把它分成我能理解的块。

n(10000) 部分有什么作用?

generate JQ = yq(year, q)
format JQ %tq
sort JQ
tsset JQ
local  varlist "m ma c t"
foreach x of local varlist{
gen `x'_gr=100*(`x'/l.`x' - 1)
}
set obs 10000
kdensity m, gen(MK epanechnikov) n(10000)
kdensity ma, gen(MAK epanechnikov_1) n(10000) 
kdensity c, gen(COK epanechnikov_2) n(10000) 
kdensity t, gen(TK epanechnikov_3) n(10000)

第一部分循环遍历变量名和 generate 旧变量的新变量。 local 宏用于保存变量名。如果您不知道什么是宏,那么运行 help macro 并按照link 手动输入。 Stata 用户指南也有相关资料。

简化版:

clear
set more off

*----- example dataset -----

sysuse auto
keep weight rep78

list in 1/5

*----- example -----

// goal: create new variables from old ones

// set a local macro
local varlist "weight rep78"

// loop over elements of the -local-
foreach x of local varlist {
    // generate new variables appending _gr to original names
    gen `x'_gr = 100 * `x'  
}

list in 1/5, abbreviate(15)

你原来的代码涉及到时间序列数据,如tsset所暗示的那样,后来使用l.,这是滞后算子。参见 help tssethelp tsvarlist

如果你 运行 help kdensity 你会发现选项 n(#) 将:

estimate density using # points; default is min(N, 50)

这都是基本的 Stata,但您在错误的地方寻求帮助。 Stata 具有出色的内置文档:可通过 help 命令和大量的 .pdf 手册访问。从 User's Guide 开始,其中包含有关如何搜索帮助的详细信息。