【发布时间】:2013-09-27 14:58:14
【问题描述】:
当我有数据矩阵时
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
当我使用
在函数中建立 Bloomberg 连接时,会发生类似的情况conn <- blpConnect()
在函数后面的几个命令中,我使用 blpDisconnect(conn) 断开与 Bloomberg 的连接。下一个命令返回检索到的数据。但是,虽然 blpConnect() 完美运行,但 blpDisconnect(conn) 命令被跳过。数据的返回完美执行。当我手动与彭博建立连接然后使用断开连接功能时没有问题。但不知何故,在包含 return 的函数中(我不确定这是否是原因,这只是一个观察)存在问题。有人知道为什么吗?
BB函数的全局代码:
fnBB <- function(){
conn <- blpConnect()
...
blpDisconnect(conn)
return(mData)
}
非常感谢。
【问题讨论】:
-
我认为这是一个函数只能返回一个对象的方式。
summary的输出是你试图返回到父环境的东西,它被return覆盖。如果您cat(summary, file = "somefile"),您将看到内容被捕获在该文件中(尽管存在格式问题)。我不知道发生这种情况的实际原因,因此发表评论。