在R语言中,当绘制一个随机过程的长实现时,改变时间标号

xhv8bpkk  于 2023-05-15  发布在  R语言
关注(0)|答案(2)|浏览(103)

我试图绘制一个特定时间序列的长期实现(T=5000)。我想要一个独特的情节与5x1子情节。因此,我想将时间标签设置为1:1000、1001:2000、...、4001:5000。

T= 5000
X=rnorm(T)
# plot the time series
par(mfrow = c(5,1), mar = c(2,2,1,1))
for (i in 1:5) {
  start_idx <- (i-1) * 1000 + 1
  end_idx <- i * 1000
  plot(X[start_idx:end_idx], type="l", xlab="time", ylab="X_t^n")
}

图为

请注意,在每个子图中,时间标签都是相同的。

p8h8hvxi

p8h8hvxi1#

plot接受一个可选的y参数,因此在这里,您可以分配相应的时间。请看下面我修改过的例子,我创建了一个等长的时间对象tt,并将其传递给x参数。
顺便说一句,注意TR中的保留字,因此最好小心并避免将其用作变量名。因此,我将T重命名为sample_size

sample_size = 5000 

tt = 1:sample_size #replace with your corresponding time/dates in your dataset

X = rnorm(sample_size)

# plot the time series

par(mfrow = c(5,1), mar = c(2,2,1,1))

for (i in 1:5) {
  start_idx <- (i-1) * 1000 + 1
  end_idx <- i * 1000
  plot(tt[start_idx:end_idx], X[start_idx:end_idx], type="l", xlab="time", ylab="X_t^n")
}
oyjwcjzk

oyjwcjzk2#

不要只在plot中绘制y轴值,而要显式添加x=y=

...
plot(seq(start_idx, end_idx), X[start_idx:end_idx], type="l", xlab="time", ylab="X_t^n") 
...

相关问题