簡體   English   中英

R語言前循環簡單矢量算法不適用於時間序列

[英]R-Language For-Loop Simple Vector Arithmetic Not Working for a Time Series

我正在嘗試對GOOG股票進行簡單的移動平均線(SMA)。 像這樣完成后,對於SMA,我會得到奇怪且不連續的紅色線條:

frame()
rm(list=ls())

#Value of securities in GOOG
GOOG=read.csv(file="GOOG.csv", head=TRUE, sep=",")
plot(x=GOOG$Close, type="l", ylab="GOOG Closing Prices",xlab="Time")
SMA=GOOG$Close

#5 Day SMA in RED
for(i in 1:84)
{
  segments(x0=i,y0=mean(SMA[i:i+4]),
       x1=i+1, y1=mean(SMA[i+1:i+5]),
       col="red")
}

但是,當我用(SMA [i] + ... + SMA [i + 4])/ 5代替均值(SMA [i:i + 4])/ 5(與替換均值(SMA [i + 1:i]相同+5])),這些值可以很好地工作,並且SMA圖是應該平滑且連續的。

但是,這兩個值是否相同? 我如何糾正這個問題,同時又保持寫平均值的捷徑?

嘗試:

#5 Day SMA in RED
for(i in 1:84)
{
  segments(x0=i,y0=mean(SMA[i:(i+4)]),
       x1=i+1, y1=mean(SMA[(i+1):(i+5)]),
       col="red")
}

*(加括號)

小心您的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM