Как я могу создать несколько оттенков в графиках, используя фрейм данных? - PullRequest
1 голос
/ 14 июня 2019

У меня есть данные временных рядов, которые я построил с помощью графиков.Теперь я хочу затенить некоторые события.Начальная и конечная точки этих событий хранятся во фрейме данных.Однако, когда я пытаюсь написать функцию для добавления нескольких оттенков, я всегда получаю сообщения об ошибках.

Я пытался использовать цикл for непосредственно в коде, но затем я получаю сообщение об ошибке, что моя фиктивная переменная можетне может быть найдено.Я попытался написать функцию с циклом for, но каким-то образом, когда я применяю ее, первый аргумент, который она использует, это ".".Что, конечно, портит функцию.

for (i in 1:length(dataframe$start)){
dyShading(from = dataframe$start[i], to = dataframe$end[i])
}
addshading <- function(periods){
  for (i in 1:length(periods[,1])){
    x <-dyShading(from = periods$start[i], to = periods$end[i])
  }
  x
}

Запуск цикла for сразу после dygraph() %>% дает следующее сообщение об ошибке:

Ошибка в function_list [k]: объект 'i' не найден

Запуск addshading(dataframe) непосредственно после dygraph() %>% выдает следующее сообщение об ошибке:

Ошибка добавления аддейдинга (., фрейм данных): не используетсяАргумент (датафрейм)

Надеюсь, я дал понять, что я новичок, чтобы попросить помочь с кодированием.

1 Ответ

1 голос
/ 14 июня 2019

Вам необходимо сначала присвоить dygraph() объекту, а затем постепенно обновлять этот объект с помощью dyShading() -

p <- dygraph(your_data)

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

print(p)
...