plot
関数は、パラメータask=interactive()
を持ってplot.mFilter
を呼び出し、あなたがplot
plot(unemp.hp,ask=FALSE)
データのためのコールにask=FALSE
ことで、これを無効にすることができ、インタラクティブセッションのためのTRUE
、 のように設定されます。
オブジェクト
unemp.hp
names(unemp.hp)
# [1] "cycle" "trend" "fmatrix" "title" "xname" "call" "type" "lambda" "method"
#[10] "x"
のスロットに関連するオブジェクトを確認する
はx
(主unempシリーズ)、trend
とcycle
あります。すべての3つのオブジェクトは、私たちが最初にdata.frameにTSからカスタム関数とプロット(grid.arrange
用)ggplot
とgridExtra
を使用して
objectList = list(unemp.hp$x,unemp.hp$trend,unemp.hp$cycle)
names(objectList) = c("unemp","trend","cycle")
sapply(objectList,class)
#unemp trend cycle
# "ts" "ts" "ts"
変換を使用して data.frameに変換し、クラスts
である:
fn_ts_to_DF = function(x) {
DF = data.frame(date=zoo::as.Date(time(objectList[[x]])),tseries=as.matrix(objectList[[x]]))
colnames(DF)[2]=names(objectList)[x]
return(DF)
}
DFList=lapply(seq_along(objectList),fn_ts_to_DF)
names(DFList) = c("unemp","trend","cycle")
seriesTrend = merge(DFList$unemp,DFList$trend,by="date")
cycleSeries = DFList$cycle
プロット:
gSeries = ggplot(melt(seriesTrend,"date"),aes(x=date,y=value,color=variable)) + geom_line() +
ggtitle('Hodrick-Prescot Filter for unemp') +
theme(legend.title = element_blank(),legend.justification = c(0.1, 0.8), legend.position = c(0, 1),
legend.direction = "horizontal",legend.background = element_rect(fill="transparent",size=.5, linetype="dotted"))
gCycle = ggplot(cycleSeries,aes(x=date,y=cycle)) + geom_line(color="#619CFF") + ggtitle("Cyclical component (deviations from trend)")
gComb = grid.arrange(gSeries,gCycle,nrow=2)
印象的!本当に素晴らしい見えた!私はあなたの機能を実行するとエラーメッセージが表示されます。具体的には、私は実行時に 'time(objectList [[x]]) 'をクラス" Date "'に変換する方法を知らないので、 'Error in as.Date.default(time(objectList [[x]])): 'DFList = lapply(seq_along(objectList)、fn_ts_to_DF)'の行です。私は何か見落としましたか?私は疲れにくいときにもう一度見ていきます。もう一度、ありがとう! –
Rセッションの 'time'の出力を確認してください。それは、それが参照するパッケージです。デフォルトでは、 'stats'パッケージから参照されます。[manual page](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/time.html) – OdeToMyFiddle
はい、それは'名前空間:stats'それは何でしょうか?また、あなたの迅速な対応に感謝します! –