Я начинающий с R, и я хотел бы попросить вас о помощи.
ЗАДАЧА: Я хотел бы составить график, отражающий почасовую потребность в воде в течение дня.График состоит из нескольких кривых разных дней (например, см. Ссылку здесь ).
Я разделил данные каждого дня на подсписки:
> head(aaa)
[[1]]
by60min consumption
1 2018-07-01 00:05:00 0
2 2018-07-01 01:05:00 0
3 2018-07-01 02:05:00 0
4 2018-07-01 03:05:00 0
....
[[2]]
by60min consumption
25 2018-07-02 00:05:00 0
26 2018-07-02 01:05:00 0
27 2018-07-02 02:05:00 0
28 2018-07-02 03:05:00 0
Иногда, не было никакого потребления воды, и я хотел бы избежать отображения этих графиков в эти дни.И вот я застрял.Я не знаю как это сделать.Моя идея состоит в том, чтобы удалить все дни, когда потребление равно нулю, а затем построить ненулевые дни, но я не смог этого сделать.Есть ли идея, как это сделать (составление ненулевых дней или / и как удалить подсписки из списка)?
Заранее большое спасибо.
Любош
дополнение:
# 1st step - tibble:
aaa <- as.tibble(aaa)
aaa
# A tibble: 1,487 x 2
by60min consumption
<fct> <dbl>
1 2018-07-01 00:05:00 0
2 2018-07-01 01:05:00 0
3 2018-07-01 02:05:00 0
4 2018-07-01 03:05:00 0
5 2018-07-01 04:05:00 0
6 2018-07-01 05:05:00 0
7 2018-07-01 06:05:00 0
8 2018-07-01 07:05:00 0.101
9 2018-07-01 08:05:00 0.167
10 2018-07-01 09:05:00 0.267
# ... with 1,477 more rows
# 2nd step - plot:
aaa %>%
mutate(day = factor(day(ymd_hms(by60min))),
hour = factor(hour(ymd_hms(by60min)))) %>%
group_by(day) %>%
filter(sum(consumption) > 0) %>%
ggplot(mapping = aes(x = hour, y = consumption,
col = day,
show.legend = FALSE)) +
geom_line(show.legend = FALSE)
# OUTPUT (the picture below) - bar graph instead of line chart - why?
# please NOTE that akt_spotreba == consumption

dput(aaa) # I inserted only first three rows
structure(list(by60min = structure(c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L,
20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L,