在xts / zoo数据集中设置特定时间段值

时间:2012-12-30 01:00:05

标签: r xts zoo

尝试为数据集生成第三个变量(称为“var”),该数据集的日期为“2010-09-24”,其值为100,其他所有时间段的值均为NA。

> dataset
           weight
2010-10-04  52495
2010-10-01  53000
2010-09-30  52916
2010-09-29  52785
2010-09-28  53348
2010-09-27  52885
2010-09-24  52174
2010-09-23  51461
2010-09-22  51286
2010-09-21  50968
2010-09-20  49250
> dataset=merge(dataset,var=NA)

我知道我可以使用ifelse(index(dataset)=="2010-09-24",100,NA)来生成变量。但是,是否有任何函数可以将样本仅限制为“2010-09-24”,然后将值放在右列和行中?

2 个答案:

答案 0 :(得分:2)

我之前没有看过merge()使用过这种方式,而且命令对我不起作用。所以也许我误解了这个问题或遗漏了一些关于时间序列数据的东西,但我会这样做:

1:添加新的NAs载体

  

数据集是$ var< -NA

2:索引到您想要的日期,并将值100保存到变量var

  

数据集[数据集$日期== “24-09-2010”, “变种”]< -100

这就是你要找的东西吗?

答案 1 :(得分:1)

是 - 如果您使用具有适当时间索引的数据类型,例如zooxts

在此前的问题上看看这两个问题,和/或阅读zoo包中的小插曲。