Hello, Quarto!
I finally built my website using Quarto. Right now, the site is hosted on GitHub Pages.
How It All Began
My introduction to statistics was pretty much by chance. The first time I took the Panhellenic Exams, I was accepted into the Department of Economics at the University of the Peloponnese. Although I liked the idea of studying Economics, the prospect of moving to another city (Tripoli) was a huge financial burden accompanied by great uncertainty, something I found unbearable. So, I chose to retake the Panhellenic Exams the very next year. As far as I recall, I had initially listed economics and computer science programs first, followed by statistics programs, prioritizing those in Attica and then the rest of Greece. Eventually, when the admission cutoffs were announced, I learned that I had been accepted into the Department of Statistics and Insurance Science at the University of Piraeus. Now a student in the Statistics department, I began to acquire my initial understanding of the field through my studies. During the early years of my studies, I focused primarily on theory in the fields of Statistics, Probability, Insurance, and Actuarial Science, thereby acquiring a solid theoretical foundation. However, I lacked the most essential quality for a statistician: the ability to put my knowledge into practice and apply the corresponding statistical techniques. The school placed very little emphasis on this aspect. Notably, the curriculum for my year included only two courses in applied statistics using relevant software: Excel and SPSS. The SPSS course was satisfactory, but it did not meet the level of knowledge I was gradually acquiring, nor did it meet the current needs of the job market. Apart from that, SPSS as a software program has significant drawbacks that make it a poor choice, including limited model customization capabilities, a lack of transparency in how results are derived, and, of course, its cost. During 2018–2019, I began looking for alternatives, as I absolutely detested that particular program (or, more fundamentally, the fact that I would have to pay for it). Among other things, I found tools that work similarly to SPSS but are freely available, such as PSPP, JASP, and jamovi. Personally, I consider the latter two to be quite useful for simple analyses. In fact, I’d recommend JASP and jamovi to someone as an alternative if they had no programming knowledge or access to SPSS. Around that time, I also discovered a programming language focused on data analysis: R (also known by the hashtag #rstats).
From SPSS to R
The transition from a statistical software suite to a programming language can be a traumatic experience, especially if it’s your first programming language. SPSS and its free alternatives served me well for quite some time, but their main advantage began to turn into a weakness. These programs are designed so that people with a basic knowledge and understanding of statistics can perform their own analyses. As I studied, I learned more and more methodologies and techniques, until at a certain point I realized that these “off-the-shelf” software tools could only take me so far. They are undoubtedly useful, but they set a limit on how deeply the user needs or is allowed to delve into the subject. For anything beyond that limit, they either ignore it entirely, since it’s considered too complex for most people, or make reasonable assumptions based on the data, so that the average user doesn’t have to deal with theory or hypothesis testing. This varies from application to application; some choose to be extremely simple and do a few things well for the everyday user (e.g., Excel), while others offer more options with greater complexity (e.g., SPSS, JASP, Weka). All of them, however, have their own limitations. As I worked with such software, I wondered what would happen if I wanted to set different parameters or apply a variation of a test I had come across in recent literature. That’s when I realized that, by continuing this way, I would be serving these programs rather than my own purpose. My goal was clearly to become knowledgeable in my field of science, not in a single program or a suite of statistical software.
So, I decided to make a big change.
First Steps
My relationship with R began in 2018, with quite a few ups and downs. I can say that at first it seemed a bit quirky to me, and for the most part I used it just to get through the process. In short, I was copying code and simply trying to figure out what I was doing. That is, to be even more candid, if I wanted to check whether the differences were statistically significant, I’d just Google it. Because of its unique nature as a language, I used it more as an analysis tool than as a programming language. My first uses of R involved some simple statistical tests, and I was impressed that I could now use a tool with theoretically unlimited capabilities compared to “off-the-shelf” software. The whole journey, of course, was particularly interesting and involved many all-nighters. Nevertheless, after countless error messages, I began to notice my gradual improvement. And I still hadn’t realized just how right my choice had been, since I was unaware of the full range of its capabilities. Over time, I discovered that I could create my own graphs using the {ggplot2} package, and I was thrilled (I admit, a little more than usual) when I learned that the BBC and the Financial Times use {ggplot2} to create their impressive graphs. I then learned about other capabilities, most notably the ability to create web applications (web apps/dashboards) using the {shiny} package, where the scope of applications wasn’t limited to just statistics. At the same time, I discovered Kaggle, a website dedicated to data science. I found it to be a particularly useful platform, and that’s where I started publishing notebook articles, plots, and generally experimenting with R. Looking back at them today, several years later, I see that my plots were terrible but back then, I’d look at them and be happy. At least, I’ve improved over time, and I’m fully aware that I really did a terrible job 😀. If you ask me nicely, of course, I might even upload one or two, so you can see how clueless I was back then and we can have a good laugh. Kaggle was extremely useful; I learned a lot, and there were people working at tech giants who posted solutions to real-world problems. Even today, competitions are posted, and many people share their solutions. The only problem is that over time, Python has become dominant, with the result that most of the material now focuses exclusively on Python. As a result, the R user community on Kaggle has shrunk, and fewer and fewer articles about R are being published or are being replaced by their Python counterparts. That’s why I made an interesting decision…
Off-platform
A few years ago, I decided to build my own website so I could host my articles myself. First, I had to decide how I would build it. There were many options, and I experimented with various methods and tools. One solution would have been a conventional website using WordPress, but that would have been expensive since I’d have to host it on a server and cover the associated costs (about $10/month) for a decent and secure VPS plan. That wasn’t worth it, and being the cheapskate that I am, I looked for a cheaper way, and it turns out there is one. Around that time, I discovered static websites and the fact that a blog doesn’t necessarily need a server. Examples of this include Hugo, using the {blogdown} and {distill} packages, which were decent solutions, but they had significant problems. For one thing, Hugo is based on a programming language I don’t know (Go), so if I wanted to make a change or add a feature, it would be impossible for me. Furthermore, my previous site, which was built with Distill, wasn’t mobile-friendly (non-responsive), since it hid the menu button. Quarto solved many of the problems these two approaches had, and today a great many people use it for their websites. Yes, Quarto still has some shortcomings when compared to other established website-building frameworks (e.g., Astro), but right now it’s the best option for anyone who works with analytical languages (R, Python, Julia) and wants to publish articles based on them. The main advantage, in my opinion, is the ability to run the analysis file and export it as an article. If I were using another static site builder like Astro, I’d have to run the code separately each time, post my results or plots to it, and then run it again, which would make the whole process unproductive.


R Packages for Building a Website (Before Quarto)
Website Goals
Since this is my first article on the website, I’d like to set my goals for it. So, I plan to:
- write articles and conduct machine learning analyses (using R and Python)
- post explanatory articles (e.g., “How to Build Your Own Website with Quarto”)
- present my activities and projects (mainly my
{shiny}applications) - post materials and articles in Greek, since there isn’t a large audience in Greece and I want that to change
- solve exam problems or at least similar exercises using R
- and much more…
Image by R. E. Beck from Pixabay