1

RBLPAPI BDH を使用して列を作成しようとしています

StockMove <- function(ticker){
StockMove <- bdh("MSFT Equity", "Chg_Pct_1D", x$Date, x$Date)
colnames(ernmove) <- NULL
ernmove <- ernmove[,2]

}

しかし、私はエラーが発生し続けます

Error in eval(substitute(expr), envir, enclos) : expecting a single value
Called from: bdh_Impl(con, securities, fields, start.date, end.datee, options, overrides, verbose, identity)

x$Date は過去の日付の列であり、新しい列を作成して、その行の x$Date 列に対応する各行の BDH データを取得しようとしています。. サニティ チェックとして、x$Date 入力の代わりに Sys.Date() を使用したところ、正しく動作しました。

アドバイスありがとうございます。これは私の最初の質問です。誤りがあればお詫びします。

4

1 に答える 1

1

x$Date は日付の列であると言います。BDH は開始日と終了日を希望しています。それがエラーがあなたに言っていることだと思います。単一の値が必要な列を指定しています。

私は永遠にRを書いていないので、これはバグがあることを許してください:

startDate <- min(x$Date)
endDate <-max(x$Date)
bdh("MSFT Equity", "Chg_Pct_1D", startDate, endDate)

BDH は、あらかじめ決められた日付のリストからデータを取得するのには適していません。オーバーライドを使用してそれらを入力しない限り、休日は空のデータであるため、一度に 1 つの日付でさえありません。

代わりに、BDH を使用して、常に日付の範囲全体を最初から最後まで取得します。必要な特定の日付の列がある場合は、その結果を調べます。

于 2016-12-08T18:24:51.277 に答える