gpt4 book ai didi

r - 如何为时间序列对象分配索引或访问索引?

转载 作者:行者123 更新时间:2023-12-02 05:08:39 25 4
gpt4 key购买 nike

我的例子。

一些数据:

  set.seed(1000)
dates<- seq.Date(as.Date("2013-01-01"), as.Date("2013-01-31"),by='days')
y <- round(3 * 3 + rnorm(31),1)
df<- cbind.data.frame(dates, y)

现在我想访问 df 以获取 y from "2013-01-25" to "2013-01-31" 的值:

  estimtaionPeriod <- as.Date(c("2013-01-25", "2013-01-31"))
length.estimationPeriod.values <-df$dates[estimtaionPeriod[[1]] : estimtaionPeriod[[2]]]

但是我得到NAs 。所以我想我必须定义一个时间序列对象:

  library(zoo)
library(xts)


ts <- ts(df$y, start=as.Date("2013-01-01"), end=as.Date("2013-01-31"))
length.estimationPeriod.values <-ts[estimtaionPeriod[[1]] : estimtaionPeriod[[2]]]


ts <- zoo(df$y, order.by = as.Date("2013-01-01"), as.Date("2013-01-31"))
length.estimationPeriod.values <-ts[estimtaionPeriod[[1]] : estimtaionPeriod[[2]]]

但是,这并不成功。

最佳答案

1) 子集尝试根据指定条件对 df 进行子集化:

subset(df, dates >= "2013-01-25" & dates <= "2013-01-31")

2) window.zoo 另一种可能性是将系列转换为 Zoo 并使用 window:

library(zoo)
z <- read.zoo(df)
w <- window(z, start = "2013-01-25", end = "2013-01-31")
fortify.zoo(w) # optional - to convert back to data.frame

3) xts xts 为此有一个特殊的索引符号:

library(xts)
x <- as.xts(read.zoo(df))
w <- x["2013-01-25/2013-01-31"]
fortify.zoo(w) # optional - to convert back to data.frame

关于r - 如何为时间序列对象分配索引或访问索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39777339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com