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

rChartsDygraphs - data.frame causes error when creating signals

首先非常感谢伟大的 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 <- 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,不明白这里出了什么问题,因为 "colN" 对 int 3 的评估很好,因此一切都应该正常工作?

顺便提一下,如果没有信号,图表呈现得非常好...买入是 int 1,卖出是 int -1,而 sig 列中的零没有变化。

有没有人遇到类似的问题可以帮忙?

非常感谢!

编辑 1:dput(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")

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

 signals = signals1,

来自

signals = as.data.table(signals1),

在您的代码中。