创建一个与 n-1 不同的变量,命名为 dvariable

Create a variable which is the difference with n-1 and is named dvariable

我想做这样的事情:

ds, has(type numeric)
    foreach var in `r(varlist)' {
    gen `var' = `var' - `var'[_n-1]
}

我想简单地命名新变量 d+oldname

如何将这两个愿望结合起来?

我认为您正在寻找的可能是以下几行:

sysuse auto, clear

ds, has(type numeric)

foreach var in `r(varlist)' {
    quietly generate d`var' = `var' - `var'[_n-1]           
    display ""
    display "`var'"
    display "d`var'"
}

这将产生:

price
dprice

mpg
dmpg

rep78
drep78

headroom
dheadroom

trunk
dtrunk

weight
dweight

length
dlength

turn
dturn

displacement
ddisplacement

gear_ratio
dgear_ratio

foreign
dforeign