Рассмотрим by
, чтобы разрезать ваши данные по коэффициенту (-ам). Четный paste
ID в основном заголовке графика:
# SET UP PLOTS BY 2 ROWS AND 2 COLUMNS
par(mfrow=c(2, 2))
# RUN GROUPING ITERATION
output <- by(raw_df1, raw_df1$ID, function(sub) {
sub_zoo <-zoo(sub$`N`, order.by = sub$date)
plot(raw_df1_zoo, xlab = "Date", ylab = "N",
main = paste(sub$ID[[1]], "of N Series"))
})
Для демонстрации со случайными, засеянными данными:
set.seed(552020)
raw_df1 <- data.frame(
group = sort(rep(c("sas", "stata", "spss", "python", "r", "julia"), 90)),
date = rep(seq.Date(Sys.Date() - 89, Sys.Date(), by="day"), 6),
N = rnorm(540)
)
par(mfrow=c(2, 3))
output <- by(raw_df1, raw_df1$group, function(sub) {
sub_zoo <- zoo(sub$`N`, order.by = sub$date)
plot(raw_df1_zoo, xlab = "Date", ylab = "N",
main = paste0(sub$group[[1]], " of N Series"))
})
![enter image description here](https://i.stack.imgur.com/iKWcv.png)