This blog post is divided in two parts: in the first part I’ll show you how
to create a Linux Live USB with persistent storage that can be used as
development environment, and in the second part I’ll show you the easiest
way to set up RStudio and ...
Foreword: This is not a tutorial nor anything like that. I’m going to talk about free software,
open source, and their licenses. I’m going to give my (non-)expert opinion on it. You may
find, after having finished reading this post, that I wasted your time. So only ...
The snake biting its own tail
Disclaimer: I’m a beginner at JS, so don’t ask me about the many intricacies of JS.
I’ve been working on a Shiny app for work these past few weeks, and had to use
Javascript to solve a very specific issue I ...
I’ve tweeted this:
Just changed like 100 grepl calls to stringi::stri_detect and my pipeline now runs 4 times faster #RStats
— Bruno Rodrigues (@brodriguesco) July 20, 2022
much discussed ensued. Some people were surprised, because in their ...
R will always be arcane to those who do not make a serious effort to learn it.
It is not meant to be intuitive and easy for casual users to just plunge into.
It is far too complex and powerful for that.
But the rewards are great for serious data ...
Learning number 1: make functions fail early
When writing your own functions, avoid conversion of types without warning.
For example, this function only works on characters:
my_nchar
I have this hypothesis that packages that introduce a unique syntax, or a workflow change,
get adopted less by users, even if what these packages do is super useful.
I’m going to discuss two examples of packages that I think are really, really useful, but sometimes
I wonder how ...
I have this hypothesis that packages that introduce a unique syntax, or a workflow change,
get adopted less by users, even if what these packages do is super useful.
I’m going to discuss two examples of packages that I think are really, really useful, but sometimes
I wonder how ...
Hey kid, fancy some self-documenting {ggplots} like this one:
Just read on!
I’ve been working hard on a package that I’ve called {chronicler} (read my post on it
here) which allows you to
attach a log to the objects you create, thus making it easy to know how ...
Introduction: functions
To understand Monads, I think it’s useful to first think about functions; why do we use functions?
Why don’t we simply write scripts with the required operations one after the other? For instance,
to compute the average ...
Back in February I discussed a package I was working on
which allowed users to add logging to function calls. I named the package {loudly} but decided
to rename it to {chronicler}.
I have been working on it for the past few weeks, and I think that a CRAN release ...
In my last video I tried to add a feature to my
{loud} package (more info here) and I succeeded. But in
succeeding in realised that I would need to write a bit more code than what I expected. To make
a long story short: it is possible to capture...
This is a short blog post to announce the early alpha, hyper unstable, use at your own peril,
package I’ve been working on for the past 6 hours or so
(actually longer if I add all the research/study time).
This package provides the function loudly() which allows you to ...
One of the most useful aspects of using a programming language instead of… well, not using a programming language,
is that you can write code in a way that minimizes, and ideally, eliminates the need to repeat yourself.
For instance, you can wri... [Read more...]
If you haven’t, you should read this first. This is part two.
Speedrunning is the… hrm… - sport? art? - of playing games from start to finish as fast as
possible. Speedrunning requires an insane amount of knowledge of the game being played, as well
as an enourmous amount ...
The past few weeks I have been exploring the speed of R. It started with this video
in which I explained that R is not necessarily slower than any other interpreted language, as long
as you’re using the built-in, optimized functions. However should you write your own implementation
of ...
Intro
Oh man, I did it again. Grab a coffee, this is going to be a long one.
Weights got me confused. The justification for using weights seems simple enough; if you’re working
with a sample in which one (or more) strata are over(under)-represented, you should compute
...
Rage is my fuel
I’ve had the {plumber} package on my radar for quite some time, but never tried it. However, a
couple of weeks ago, I finally had a reason to try it out and see how the package works.
One of my main problems in life is ...
Let’s go back to stats 101: what do you do if you want to know how many people like to play bingo
in a certain population? The answer, of course, is to ask a sample of people if they enjoy
playing bingo, compute the proportion and then… we’re done! ...