-
Notifications
You must be signed in to change notification settings - Fork 6
/
make_data_for_plots.R
58 lines (44 loc) · 1.92 KB
/
make_data_for_plots.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright (C) 2020-2024 Martin Edström
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# ------------------------------------------------------------------------
source("init.R")
if (!"weight_dataset" %in% ls()) {
stop("Please define weight_dataset via elisp ess-execute")
}
if (!"mood_dataset" %in% ls()) {
stop("Please define mood_dataset via elisp ess-execute")
}
# Projected daily weight loss. Sobering to see how slow the result...
daily_change <- -0.1
if (!dir.exists("/tmp/eva"))
dir.create("/tmp/eva")
wt <- read_tsv(weight_dataset,
col_names = c("posted", "weighed", "weight_kg")) %>%
mutate(weighed = as_date(weighed)) %>%
select(-posted) %>%
write_delim("/tmp/eva/weight.dat", col_names = FALSE)
projected_wt <-
tibble(weight_kg = seq(from = tail(wt$weight_kg, 1),
to = 60,
by = daily_change)) %>%
mutate(weighed = today() + days(row_number())) %>%
select(weighed, weight_kg) %>%
write_delim("/tmp/eva/weight_projected.dat", col_names = FALSE)
# --------------
mood <- read_tsv(mood_dataset,
col_names = c("posted", "time", "mood_score", "mood_desc")) %>%
mutate(time = as_datetime(time)) %>%
drop_na(mood_score) %>%
select(-posted) %>%
write_delim("/tmp/eva/mood.dat", col_names = FALSE)
mood$mood_desc %>%
write_lines("/tmp/eva/mood_desc.txt")