Introduction to V8 for R
V8 is Google’s open source, high performance JavaScript engine. It is written in C++ and implements ECMAScript as specified in ECMA-262, 5th edition. The V8 R package builds on the C++ library to provide a completely standalone JavaScript engine within R.
How to Choose the Form of an Infographic: It’s All about Context
As a graphics designer, I have a love/hate relationship with circles. The humble form provides a relief from rigid rectangular chart structures that are pinned to x- and y-axes. The shape can certainly help to enliven a page and engage a reader. Using circles may come at a cost, however. The ability of a reader to make direct comparisons of exact measurements may be compromised (see a post I wrote in 2011 on the topic here—including the comments, which include a clarification). But depending upon the crux of the story, or context of the graphic, the tradeoff may be worth it.
Bayesian network in R: Introduction
Bayesian networks (BNs) are a type of graphical model that encode the conditional probability between different learning variables in a directed acyclic graph. There are benefits to using BNs compared to other unsupervised machine learning techniques. A few of these benefits are:
1. It is easy to exploit expert knowledge in BN models.
2. BN models have been found to be very robust in the sense of i) noisy data, ii) missing data and iii) sparse data.
3. Unlike many machine learning models (including Artificial Neural Network), which usually appear as a “black box,” all the parameters in BNs have an understandable semantic interpretation.
This post is the first in a series of “Bayesian networks in R .” The goal is to study BNs and different available algorithms for building and training, to query a BN and examine how we can use those algorithms in R programming. The R famous package for BNs is called “bnlearn”. This package contains different algorithms for BN structure learning, parameter learning and inference. In this introduction, we use one of the existing datasets in the package and show how to build a BN, train it and make an inference.
Contextual-Bandit Optimization
Over the past decade or two, our ability to integrate, analyze and manipulate data has vastly improved. Conversion optimization continues to be key to digital strategy and experiments have become a commodity and practically an essential methodology for companies who are trying to optimize their sites and maximize performance. In fact, 67 percent of companies are currently performing A/B testing, but many marketers are not satisfied with results, according to a RedEye and E-consultancy study. As the pressure increases to deliver improved results through site optimization and testing, marketers are constantly pushing the boundaries of existing methodologies, and the need for more complex, dynamic processes has emerged.
A “calculus” for open data
The value, impact and promise of making data publicly accessible have driven citizens, government agencies and businesses to embrace open data as a way to increase efficiency, promote transparency and maximize utility.
Introducing the streamgraph htmlwidget R Package
We were looking for a different type of visualization for a project at work this past week and my thoughts immediately gravitated towards streamgraphs. The TLDR on streamgraphs is they they are generalized versions of stacked area graphs with free baselines across the x axis. They are somewhat controversial but have a “draw you in” aesthetic appeal (which is what we needed for our visualization).
Debugging with restore points instead of break points
The standard method to debug an R function is to set break points via the browser function. When during execution of the function, browser() is called, the R console immediately changes into an interactive debugging mode that allows to step through the code and enter any R expressions. Thanks to RStudio’s visual debugging support, this can be done quite conveniently. While break points are nice, I personally prefer now most times to debug via restore points using my package restorepoint.