我想在一个函数中调用tsls(),但由于某种原因它不能识别参数。在简化示例(下面)中,参数Y1,Y2,X,Z是数据帧“数据”中的向量:
tslsex <- function(Y1,Y2,X,Z,data) {
attach(data)
results <- tsls(Y1 ~ cbind(Y2,X), ~ cbind(X,Z))
detach(data)
summary(results)
}
调用该函数:
tslsex(dependent,endogenous,cbind(control-1,control-2),instrument,dataframe)
结果:
Error in eval(expr, envir, enclos) : object 'Y1' not found
这很奇怪,因为类似使用lm()似乎工作正常。任何人对此都有任何想法?我怀疑它与变量的环境有关,但我无法弄明白。提前谢谢。
和j