我是 R 的新手。我已经编写了这段代码来使用highcharter库生成,这是基于我拥有 11 年的数据框,即 2005 年 - 2011 年(4 月 - 10 月)
以下代码为一年。我想创建一个循环或类似的东西来分别为每年创建图表。此代码工作正常,但我必须手动更改每年的日期并生成图表。
Year_2005_rain <- subset(Seven,
time >= as.Date('2005-04-01') &
time <= as.Date('2005-10-31'))
Year_2005_flow<- subset(Seven_flow,
time >= as.Date('2005-04-01') &
time <= as.Date('2005-10-31'))
Year_2005_inflow<- subset(Seven_inflow,
time >= as.Date('2005-04-01') &
time <= as.Date('2005-10-31'))
merge1_05 <- merge(Year_2005_rain,
Year_2005_flow,
Year_2005_inflow, by="time")
names(Year_2005_rain) <- names(Year_2005_flow) <- names(Year_2005_inflow)
merge1_05 <- rbind(Year_2005_rain, Year_2005_flow,Year_2005_inflow)
colnames(merge1_05)[colnames(merge1_05)=="time"] <- "date"
colnames(merge1_05)[colnames(merge1_05)=="Discharge"] <- "value"
merge1_05$date = as.Date(merge1_05$date, format = "%Y/%m/%d")
merge1_05$variable <- c(rep("rain", 214), rep("discharge", 214), rep("inflow", 214))
hc_14<- highchart() %>%
hc_yAxis_multiples(list(title = list(text = "rainfall depth (mm)"), reversed = TRUE),
list(title = list(text = "flow (m3/s)"), opposite = TRUE)) %>%
hc_add_series(data = filter(merge1_05, variable == "rain") %>%
mutate(value = value) %>% .$value, type = "column") %>%
hc_add_series(data = filter(merge1_05, variable == "discharge") %>% .$value,
type = "spline", yAxis = 1) %>%
hc_add_series(data = filter(merge1_05, variable == "inflow") %>% .$value,
type = "spline", yAxis = 1) %>%
hc_xAxis(categories = merge1_05$date, title = list(text = "date"))
hc_14