データ行列がある場合
mI <- c(1:4, 2, 6, 9)
mJ <- c(4:1, 5, 0, 2)
および次の単純な回帰関数
fLM <- function(mX, mY){
lmXY <- lm(mY~mX)
summary(lmXY)
return(lmXY)
}
コマンド summary(lmXY) を使用して、関数内の回帰の結果を出力したいのは明らかです。ただし、LM <- fLM(mI, mJ) を使用すると、このコマンドが関数に含まれていても、要約出力は出力されません。奇妙なことに (少なくとも私にとっては) 関数 fLM で return(lmXY) コマンドを削除すると、summary(lmXY) が出力されます。誰かがなぜこれが起こるのか説明できますか?
を使用して関数でブルームバーグ接続を確立すると、同様のことが起こります
conn <- blpConnect()
関数の後半のいくつかのコマンドで、blpDisconnect(conn) を使用して Bloomberg から切断します。次のコマンドは、取得したデータを返します。ただし、blpConnect() は完全に機能しますが、blpDisconnect(conn) コマンドはスキップされます。データの返却は完璧に実行されます。ブルームバーグとの接続を手動で確立してから、切断機能を使用しても問題はありません。しかし、どういうわけか return を含む関数には問題があります (これが原因かどうかはわかりませんが、単なる観察です)。誰も理由を知っていますか?
BB 機能のグローバル コード:
fnBB <- function(){
conn <- blpConnect()
...
blpDisconnect(conn)
return(mData)
}
よろしくお願いします。