【发布时间】:2016-10-28 06:30:27
【问题描述】:
我想知道 R 中是否有像 Stata 一样的函数,您可以在每次观察之前或之后使用观察 n 个数字的值。例如,如果我需要在写这样的variable_x/variable_x[_n-1]
【问题讨论】:
-
variable_x/lag(variable_x, 1) -
@Khashaa
variable_x/dplyr::lag(variable_x, 1) -
严格来说
_n根本不是一个函数。它是一个内置变量,即当前观察数,当前含义在数据集的当前sort顺序中。在byvarlist 的支持下,还有一个额外的转折:这是在由 varlist 的不同值的组合定义的当前组内确定的。 (我不希望这对于不使用 Stata 的 R 用户来说是完全不言自明的,只是一些 R 语法的简要定义通常是相反的。) -
在R中,数据帧可以用
1:nrow(df)索引,向量可以用seq_along(vec)索引。关于byvarlist 的解释提出了与Rby函数同源的可能性,其中varlist 等效项为list(factor1, factor2, ...)。我发现 Stata 文档相当不透明,但也从 Stata 追随者那里听到了关于 R 文档的相同抱怨。两种语言需要不同的思维方式。文档中准确列出了对象的类型,但这些类型名称并不总是符合用户的天真期望。
标签: r stata lag equivalent lead