Я бы хотел вызвать tsls () внутри функции, но по какой-то причине он не распознает аргументы. В упрощенном примере (ниже) аргументы Y1, Y2, X, Z являются векторами во фрейме данных «data»:
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 (), кажется, работает нормально. У кого-нибудь есть идеи по этому поводу? Я подозреваю, что это относится к среде переменных, но я не смог понять это. Заранее спасибо.
1012 * Энди *