【发布时间】:2011-11-01 09:36:55
【问题描述】:
我有一个包含股票数据(日期、代码、最高价、最低价、开盘价、收盘价、成交量)的数据框。使用 r 和 mysql 以及 sqldf 和 rmysql 我有一个唯一日期和唯一股票代码的列表。 我现在需要的是遍历数据并找到两个指定日期的收盘价。例如:
-
stkData包含(日期、符号、最高价、最低价、开盘价、收盘价、成交量) -
dates包含唯一日期 -
symbol包含独特的符号
我想像这样遍历 sqldf 语句中的列表:
'select stkData$close from stkData where symbol = symbol[k] and date = dates[j]'
k 和 j 将是循环数字,但我的问题是 symbol[k] 和 dates[j] 部分。
sqldf 无法正确读取它们(或者我无法正确编码)。我试过as.Date,as.character 没有运气。我收到以下错误消息:
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: near "[4,]": syntax error)
【问题讨论】:
-
我认为你混淆了 SQL 语法和 R 语法。
-
sqldf 主页github.com/ggrothendieck/sqldf 上的示例 5 展示了如何使用 fn$ 工具将变量插入到 sql 字符串中。