К сожалению, вы довольно далеки от синтаксиса sqldf.Вы не можете использовать нотации $
или []
в вызовах sqldf, потому что они оба являются синтаксисом R, а не синтаксисом SQL.Это совершенно отдельный язык.Происходит то, что sqldf берет ваш фрейм данных, импортирует его в SQLite3, выполняет запрос SQL, который вы передаете к результирующей таблице, а затем импортируете результирующий набор обратно в R как фрейм данных.В SQL нет функциональных возможностей R.
Мне не ясно, что вы пытаетесь сделать, но если вы хотите выполнить несколько запросов в цикле, вы, вероятно, захотите построить SQL-запрос какстрока с использованием функции R paste()
, так что когда она дойдет до SQLite3, это будут просто статические значения, в которых у вас есть symbol[k]
и dates[j]
.
.после, но в цикле для j
и k
:
sqldf(paste('select close from stkData where symbol = ', symbol[k],
' and date = ', dates[j]))