我尝试用我的特定案例使用 zoo 包创建一个用于时间序列分析的数据框,但没有用,我的人工脚本是:
require(zoo)
TSdata<-NULL
TSdata$id<-seq(1:30) ##ID
TSdata$Date<-seq(as.Date("2015/1/15"), by = 15, length.out = 30) ## Vector of date
TSdata$rain<-rnorm(30,mean=125)#Covariate 1
TSdata$temp<-rnorm(30,mean=32.6) #Covariate 2
TSdata$y<-rpois(30,lambda=15) # Response variable
TSdata<-as.data.frame(TSdata) ## Convert to data frame
## Create temporal series object
ts.data <- read.zoo(text="TSdata", format="%Y/%m/%d", index.column = 2) ## Here the problem
最佳答案
您的代码中有两个错误:(1) 如果您想使用 read.zoo()
从 data.frame< 创建一个
,那么您只需提供对象 zoo
对象TSdata
而不是名称为 "TSdata"
的字符串。 (2) 格式
不是"%Y/%m/%d"
。但由于索引已经是 Date
列,因此无论如何都不需要提供 format
。
简单地做:
read.zoo(TSdata, index.column = 2)
## id rain temp y
## 2015-01-15 1 125.3376 32.91936 13
## 2015-01-30 2 125.2048 32.71199 17
## 2015-02-14 3 125.7443 32.74698 17
## ...
关于r - 使用 zoo 包创建数据框 ts 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32445713/