3

xtsオブジェクトがありperiod.apply、重複しない期間ごとに複数の値を返す関数で使用しようとしています。例:回帰を実行し、重複しない各期間の残差を返したいので、関数はその期間のすべての日付を特定の各日付の残差とともに返します。現在、xtsこの動作をサポートしていないようです。これは正しいです?回避策はありますか?

> df <- data.frame(x=rnorm(31)+10, y=rnorm(31)+10)
> xts.data <- xts(df, order.by=as.Date(13514:(13544),origin="1970-01-01"))
> f <- function(d) {as.numeric(coredata(d[,"x"]))}
> period.apply(xts.data, INDEX=endpoints(xts.data,"weeks"), FUN=f)
Error in coredata.xts(x) : currently unsupported data type
4

1 に答える 1

3

重複しない各期間の観測数が同じではない可能性が高いため、行列のような構造を簡単に作成する方法がないことに気づきました。

代わりに次のようなものを使用して、各リスト要素が同じ長さではないことに注意してください。

lapply(split(xts.data,"weeks"), f)

period.apply期間ごとに複数の列を返す方法を説明するには、次のようにします。

period.apply(xts.data, endpoints(xts.data,"weeks"), range)
period.apply(xts.data, endpoints(xts.data,"weeks"), colMeans)
于 2012-08-28T17:50:02.420 に答える