【发布时间】:2014-11-20 21:24:15
【问题描述】:
从 R 调用 KDB 服务器上的函数
嗨,我在 KDB 服务器上编写了一个函数,它为我提供了每个日期的输出列表。我必须计算一组日期的函数,但是当我将它作为向量传递时,日期格式不起作用。请看下面的代码:
per <- c('2014.07.31', '2014.07.30','2014.07.29','2014.09.28')
per <- as.Date(per,"%Y.%m.%d")
PWPfunc <- function(k){
execute(h,"pwp_frac[0.05;0.1;k;`AAPL]")
}
output <- lapply(per,PWPfunc).
KDB 无法识别来自 R 的日期格式。请帮助。
【问题讨论】:
-
您是否收到类似
Error in execute(h, "pwp_frac[0.05;0.1;k;`AAPL]") : Error from kdb+: `k的错误?当您通过上述查询时,kdb 将按原样解析字符串并尝试使用 kdb 实例中的变量k执行pwp_frac[0.05;0.1;k;`AAPL]。由于kdb实例中没有变量k,所以会提示错误。 -
是的,我只得到了那个错误。我得到了它,所以 KDB 不会将变量“k”解析为其值,因为它是作为字符串传递的。有没有办法解决它..?
-
我在想您可以将变量连接到查询字符串中并将其传递给 q。所以基本上你的最终字符串看起来像
"pwp_frac[0.05;0.1;2014.07.31 2014.07.30 2014.07.29 2014.09.28;`AAPL]" -
谢谢 WooiKent,我是这么认为的..准备 R 中的字符串,其中日期得到解决,然后作为 execute(h,teststring)..感谢您的帮助。
-
下面的答案能解决你的问题吗?那么请接受答案。
标签: kdb