rChartsDygraphs - data.frame在创建信号时导致错误

时间:2015-01-27 23:15:42

标签: r data.table rcharts

首先感谢伟大的rChartsDygraphs包!它工作精湛,是对常规情节的一个很好的扩展,但不幸的是我遇到了信号问题。

与示例类似,我有data.frame信号

signals1 <- as.data.frame(signals1)
'data.frame':   2712 obs. of  3 variables:  $ Date : Date, format:
"2004-03-29" "2004-03-30" "2004-03-31" "2004-04-01" ...  $ Price: num 
1.78 1.79 1.78 1.8 1.86 1.9 1.87 1.84 1.85 1.88 ...  $ sig  : num  0 0 0 0 0 0 0 1 0 0 ...

但是,在申请dygraph时

  d1 <- dygraph(data=as.data.frame(data), 
                sync=TRUE, 
                crosshair="vertical", 
                legendFollow=TRUE, height = 200, width=800,
                title = paste('<font size="1">', Symbol, '</ font>', sep=''),  
                signals = signals1,
                sigFigs=7, 
                axisLabelFontSize = 9)

我在第4行的函数sigSeries&lt; - function(colN,signals)中收到

ann <- as.data.table(signals[, c(1, 2, eval(colN)), with = FALSE])

以下错误

Error in `[.data.frame`(signals, , c(1, 2, eval(colN)), with = FALSE):
unused argument (with = FALSE)

我仍然围绕着R而且不明白这里出了什么问题&#34; colN&#34;评估罚款到int 3,因此一切都应该正常工作?

只是提一下,没有信号,图表呈现绝对正常......并且买入为int 1,卖出int -1,而sig列中没有变化为零。

有没有人遇到过类似的问题,可以提供帮助?

非常感谢提前!

编辑1:输出(head(signals1))

的输出
Browse[2]> dput(head(signals1)) structure(list(Date =
structure(c(12506, 12507, 12508, 12509,  12510, 12513), class =
"Date"), Price = c(1.78, 1.79, 1.78, 1.8, 
1.86, 1.9), sig = c(0, 0, 0, 0, 0, 0)), .Names = c("Date", "Price",  "sig"), row.names = c(NA, 6L), class = "data.frame")

1 个答案:

答案 0 :(得分:1)

似乎dygraph要求其signals参数属于data.table类,尽管文档说它应该只是data.frame。因此,要解决此问题,您需要加载data.table包并替换

 signals = signals1,

通过

signals = as.data.table(signals1),

代码。