0

次のコードを検討してください

require(quantmod)

list.X <- c('ANFCI',  'NFCI', 'STLFSI', 'WAAA', 'WBAA', 'WCOILWTICO','WFII10', 
            'WGS10YR', 'WGS1YR', 'WGS3YR', 'WGS5YR', 'WSWP10', 'WTB3MS')
data.X <- new.env()
getSymbols(list.X, src = 'FRED', from = '1950-01-01', env = data.X)

次に、これらの時系列をdata.X環境に入れます。data.X別の時系列を入れる必要があります。

getSymbols('SPY', from = '1950-01-01', env = data.X)

デフォルトでは、これは Yahoo からダウンロードされます。最後のコマンドで、必要に応じて入れましたdata.Xか?

次に、それらをマージしたいと思います。私はそのようなものを信じていました

X <- do.call(merge, as.list(c(list.X, 'SPY')), envir = data.X)

動作する可能性がありますが、そのコマンドは動作しません。

うまくいくものを教えてもらえますか?

ありがとう、

4

1 に答える 1

3

これを試して:

mmerge <- function(.list, all=FALSE, env=.GlobalEnv) {
  .list <- lapply(.list, get, env)
  Reduce(function(...) merge(..., all=all), .list)
}

head(mmerge(list.X, env=data.X))
head(mmerge(as.list(c(list.X, 'SPY')), env=data.X))

この質問にうなずいて

于 2012-08-31T11:01:55.083 に答える