R dygraphs - 绘制列的某些内容

R dygraphs - plot certain content of columns

我有一个 csv 文件 "fruit.csv" 看起来像这样:

"Date","Fruit","Count"
2019-01-01,Apple,3
2019-01-01,Pear,5
2019-01-01,Banana,4
2019-02-01,Apple,4
2019-02-01,Pear,4
2019-02-01,Banana,6
...

我想绘制 x 轴为日期、y 轴为数字的数据。特别是,我希望图表只显示某种水果的数据,例如只有苹果。 这是我到目前为止所拥有的,一次绘制所有水果:

data <- read.csv("Path/to/fruit.csv")

data$Date <- as.Date(data$Date)

time_series <- xts(data$Count, order.by = data$Date)
dygraph(time_series)

我需要添加什么,指定我要绘制的水果?

这里有一些方法:

首先,使用dplyr提前filter()数据:

library(dplyr)
apples <- data %>%
  filter(Fruit == "Apple")
apples_ts <- xts(apples$Count, order.by = apples$Date)
dygraph(apples_ts)

其次,提前以更传统的方式对数据进行子集化。

apples <- data[which(data$Fruit == "Apples"),]
apples_ts <- xts(apples$Count, order.by = apples$Date)
dygraph(apples_ts)

第三,在对xts的调用中对数据进行子集化:

apples_ts <- xts(data[data$Fruit == "Apple",]$Count, 
                 order.by = data[data$Fruit == "Apple",]$Date)
dygraph(apples_ts)

第四,写一个自定义函数,这样你就不需要为每个水果重复这段代码:

fruit_dygraph <- function(data, fruit) {
  fruit_ts <- xts(data[data$Fruit == fruit,]$Count, 
                 order.by = data[data$Fruit == fruit,]$Date)
  dygraph(fruit_ts)
  }
fruit_dygraph(data, fruit = "Apple")