私はACFを計算するための以下の式を持って、私が使用してRで関数ACFを使用しますが、次のデータのためにそれを手動で計算し、その結果をプロットしたい `tをggplot2計算ACF手動
data<-rweibull(168,2,3)
time<-seq(from=as.POSIXct("2014-01-01 00:00"),to=as.POSIXct("2014-01-07 23:00"),by="hour")
df<-data.frame(time,data)
ここで、kはタイムラグであり、μは時系列(、Yt = 1,2、...、N)の平均である。 ACFは、100時間のタイムラグまで考慮した時系列についてここで計算されます。私の最終的な出力では、100個の値を持つベクトルが必要です。方程式では、100回の時間遅れに対してRの方程式のYt + k部分を設定する方法がわかりません。どんな助けもありがとう。
今のところ私はコードを持っていますが、1つのベクトルで100ラグの結果を得るためのコードを設定する方法はわかりません。あなたがしたい場合は、これを試すことができ
x <- data - mean(data)
sum(x[1:99] * x[2:100])/sum(x^2)# TIME LAG OF 100
なぜあなたは手動でそれをしたいですか?これまでに何を試しましたか? – Sotos
関数を変更して結果を比較するには時間差Yt + kを異なるステップで設定する。 – kelamahim
まず、 'dplyr'パッケージで提供される' lag'機能を見てみましょう。ラグのサイズが1:100となる(おそらく)ループする必要があります – Sotos