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),
在您的代码中。
首先非常感谢伟大的 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),
在您的代码中。