0

これは、再現目的で私のコードを簡単に抜粋したものです。

library("quantmod")
stockData <- new.env()
stocksLst <- c("AAB.TO", "BBD-B.TO", "BB.TO", "ZZZ.TO")
nrstocks = length(stocksLst)
startDate = as.Date("2016-09-01")

for (i in 1:nrstocks) {
    getSymbols(stocksLst[i], env = stockData, src = "yahoo", from = startDate)
}

その後、データはこの環境 stockData に保存され、これを使用して分析を行います。現在、次の xts オブジェクトの名前をクリーンアップしたいと思います。

ls(stockData)
[1] "AAB.TO"   "BB.TO"    "BBD-B.TO" "ZZZ.TO"

すべての名前から - と .TO を削除したいのですが、gsub と eapply を使用しようとしましたが、成功しませんでした - 適切な構文がわかりません。どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

1

gsubR の学習中に のようにR の基本関数を使用する代わりに?regex、 library の関数を使用して文字列を操作する方がはるかに簡単であることがわかる場合がありますstringr。使用できますstr_replace

library(stringr)
e.stocks <- list2env(setNames(lapply(stocksLst, function(x) y <- getSymbols(x, env = NULL)), 
                     str_replace(str_replace(stocksLst, "-", ""), "\\.TO", "")))
于 2016-11-11T04:59:36.037 に答える