Tracking my weight using Org-mode and R
I record my weight nearly every day. My bathroom scale uploads the data to a couple of tracking sites, but I also record it in a CSV file, like this…
Date,Weight 2017-12-15,193.9 2017-12-14,193.3 2017-12-13,194.4 2017-12-12,195.8 2017-12-11,198.7 2017-12-08,196.7 2017-12-07,196.5 2017-12-06,197.6 2017-12-05,198.7 2017-12-04,201.4 2017-12-01,199.1 2017-11-30,199.2
I’ve always wanted to learn more about R, even though I generally have no need for it. And while it’s certainly overkill, I decided to graph my weight using R and Org-mode’s Babel mode.
First, I installed R via Homebrew
brew install R
Then I installed the ggplot2 and ggthemes packages in R
> install.packages(“ggplot2”)
> install.packages(“ggthemes”)
In my org file I have the following:
#+BEGIN_SRC R :results output graphics :exports both :file ~/Dropbox/org/img/weight.png library(ggplot2) library(ggthemes) data<-read.csv("~/Dropbox/org/weight.csv") data$Date <- as.Date(data$Date) data = subset(data,data$Date>"2017-01-01") p <- ggplot() + theme_economist() + geom_line(aes(x=Date,y=Weight), data=data, size=1.5) + ylim(150,205) p #+END_SRC
I put the cursor on the first line and hit Ctrl-c Ctrl-c and out pops an image with a nice graph of my weight over the past year (above).
I have no idea what I’m doing but it’s nerdy and fun so I don’t mind the hours I’ve wasted in order to do a simple thing the hard way.