如何使用Dygraphs软件包绘制角色类别的月平均值?

时间:2018-10-03 14:31:00

标签: r

我正在尝试使用dygraphs软件包绘制每月平均数据,但仍然收到“ Unsupported type passed to argument 'data'”错误。我意识到这是因为该函数正在寻找日期,但是“月”列是一个字符类。有没有一种方法可以更改它,以便将其识别为可视化日期?

这是我的代码:

library(dplyr)
library(dygraphs)

Period <- c("January 2015", "February 2015", "March 2015",
            "January 2016", "February 2016", "March 2016",
            "January 2017", "February 2017", "March 2017",
            "January 2018", "February 2018", "March 2018")

Month <- c("January", "February", "March",
           "January", "February", "March",
           "January", "February", "March",
           "January", "February", "March")

Dollars <- c(936, 753, 731, 
             667, 643, 588, 
             948, 894, 997, 
             774,745, 684)

dat <- data.frame(Period = Period, Month = Month, Dollars = Dollars)

dat2 <- dat %>%
  dplyr::select(Month, Dollars) %>%
  dplyr::group_by(Month) %>%
  dplyr::summarise(AvgDollars = mean(Dollars))

dygraph(dat2) # This is where I receive the error shown above.

我能够获得正确的输出(dat2),但是我无法使用dygraphs包来绘制数据。

任何建议将不胜感激。预先感谢!

1 个答案:

答案 0 :(得分:1)

我知道了。答案是这样:

dat2 <- dat %>%
  dplyr::select(Month, Dollars) %>%
  dplyr::group_by(Month) %>%
  dplyr::summarise(AvgDollars = mean(Dollars)) %>%
  dplyr::mutate(Month = match(Month, month.name)) %>%
  dplyr::arrange(desc(-Month))

dygraph(dat2)