R 如何使用数据帧在动态图中创建多个阴影?

R 如何使用数据帧在动态图中创建多个阴影?,r,r-dygraphs,R,R Dygraphs,我有我用动态图绘制的时间序列数据。现在我想对一些事件进行阴影处理。这些事件的起点和终点存储在数据帧中。然而,当我试图编写一个函数来添加多个阴影时,总是会收到错误消息 我曾尝试在代码中直接使用for循环,但随后得到错误消息,无法找到虚拟变量。 我曾尝试用for循环编写函数,但不知何故,当我应用它时,它使用的第一个参数是“”。这当然把功能搞砸了 for (i in 1:length(dataframe$start)){ dyShading(from = dataframe$start[i], to

我有我用动态图绘制的时间序列数据。现在我想对一些事件进行阴影处理。这些事件的起点和终点存储在数据帧中。然而,当我试图编写一个函数来添加多个阴影时,总是会收到错误消息

我曾尝试在代码中直接使用for循环,但随后得到错误消息,无法找到虚拟变量。 我曾尝试用for循环编写函数,但不知何故,当我应用它时,它使用的第一个参数是“”。这当然把功能搞砸了

for (i in 1:length(dataframe$start)){
dyShading(from = dataframe$start[i], to = dataframe$end[i])
}
addshading%
给出以下错误消息:

addshading(,dataframe)中出错:未使用的参数(dataframe)


我希望我能说清楚,我是一个新来寻求编码帮助的人。

您需要先将
dygraph()
分配给一个对象,然后使用
dyShading()增量更新该对象。
-


p关于如何使用
purr
软件包实现这一点,您有什么想法吗?
addshading <- function(periods){
  for (i in 1:length(periods[,1])){
    x <-dyShading(from = periods$start[i], to = periods$end[i])
  }
  x
}
p <- dygraph(your_data)

for (i in 1:nrow(dataframe)) {
  p <- p %>% dyShading(from = dataframe$start[i], to = dataframe$end[i])
}

print(p)