首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中滞后的“循环”变量

R中滞后的“循环”变量
EN

Stack Overflow用户
提问于 2013-12-08 03:41:17
回答 1查看 88关注 0票数 1

因此,我刚刚收到了一个数据集,其中数据帧的一列是“cycled”。本专栏实际上是一个年复一年的循环(在我的例子中,1984-2007)。在另一栏中,每年都有相应的美元数额(实际上是“供资水平”)。我的工作是为这些资金水平创造一个滞后变量。但诀窍是:每当一年的周期开始时,一个新的“变量”就开始了。因此,我正在寻找的滞后变量并不仅仅是整个供资栏的一个向后移动。相反,我需要为数据的每个子周期创建一个资金滞后。更确切地说,我的数据看起来有点像这样:

代码语言:javascript
运行
复制
    X Y
    1 7
    2 8
    3 9
    1 4
    2 6
    3 5
    1 2
    2 4
    3 3

我需要它看起来像这样:

代码语言:javascript
运行
复制
    X Y
    1 NA
    2 7
    3 8
    1 NA
    2 4
    3 6
    1 NA
    2 2
    3 4

我该怎么做呢?非常感谢你的帮助!

-JMC

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-08 04:08:37

这应该能行。(我经常忘记给这个有趣的论点取名,然后ave用一条神秘的错误信息抱怨。)

代码语言:javascript
运行
复制
  #Wrong dfrm$Y <- ave( dfrm$Y, dfrm$X, FUN=function(x) c(NA, x) )

由于缺乏适当的分组因子来标记不同类别的时间序列,我决定退出X==1:

代码语言:javascript
运行
复制
dfrm$Y <- ave( dfrm$Y, cumsum(dfrm$X==1), FUN=function(x) c(NA, x[-length(x)]) )
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20449619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档