В чем-то, над чем я работаю, я столкнулся с икотой. Предположим, что у меня следующий простой пример. Пусть...
v <- c(606:608) ## Some vector of integers
У меня также есть отдельный script (просто назовите его foo.R
), который имеет что-то вроде (использует пакет RODBC
):
um <- sqlQuery(artemis,paste("select * from port.tdtf_VaR_Unmatched (",LatestModelRun,")",sep=""))
Теперь предположим, что я хочу запустить следующую функцию цикла:
test <- function() {
for (i in 1:length(v)) {
LatestModelRun <- v[i]
source("C:/R/foo.r")
print(unmatched)} }
test() ## Run it
Когда я это сделаю, я получаю следующую ошибку:
Error in paste("\n\tselect * from port.tdtf_VaR_Unmatched (", LatestModelRun, :
object 'LatestModelRun' not found
Итак, как-то он не читает в переменной LatestModelRun
, определенной в функции test
.
Здесь traceback()
:
7: paste("\n\tselect * from port.tdtf_VaR_Unmatched (", LatestModelRun,
")\n\twhere [PortfolioProduct] not in ('REC - Generic','REC - Green-e NY')\n\torder by [PortfolioProduct], [Year]",
sep = "")
6: odbcQuery(channel, query, rows_at_time)
5: sqlQuery(artemis, paste("\n\tselect * from port.tdtf_VaR_Unmatched (",
LatestModelRun, ")\n\twhere [PortfolioProduct] not in ('REC - Generic','REC - Green-e NY')\n\torder by [PortfolioProduct], [Year]",
sep = ""))
4: eval.with.vis(expr, envir, enclos)
3: eval.with.vis(ei, envir)
2: source("C:/R/foo.r")
1: test()
У кого-нибудь есть идея относительно того, что я делаю неправильно?
Любая помощь очень ценится!! Спасибо!!