R-Shiny developer and consultant with a MSc in Bioinformatics and a Bachelor of Computer Science. Previously a software engineer at Google, IBM, and Wish.com.
In this post, I talk about performance through an efficient algorithm I developed for finding closest points on a map. This algorithm uses both concepts from mathematics and algorithmics. Problem to solve This problem comes from a recent question on StackOverflow. I have two matrices, one is 200K rows long, the other is 20K. For each row (which is a point) in the first matrix, I am trying to find which row (also a point) in the second matrix is closest to the point in the first matrix. This is the first method that I tried on a sample dataset: # Test dataset: longitude and latitude pixels.l...
Here are my notes from a recent talk I gave on vectorization at a Davis R Users’ Group meeting. Thanks to Vince Buffalo, John Myles White, and Hadley Wickham for their input as I was preparing this. Feedback welcome! Beginning R users are often told to “vectorize” their code. Here, I try to explain why vectorization can be advantageous in R by showing how R works under the hood. Now, remember, premature optimization is the root of all evil (Knuth).
Getting started Using the profiler Using the flame graph Using the data viewer Profiling examples Profiling time example Profiling memory example Frequently Asked Questions Additional Resou...
A guide to parallelism in R – Florian Privé – R(cpp) enthusiast
In this post, I talk about parallelism in R. This post is likely biased towards the solutions I use. For example, I never use mcapply nor clusterApply; I prefer to always use foreach. In this post, we will focus on how to parallelize R code on your computer with package {foreach}. In this post, I use mainly silly examples just to show one point at a time. Basics of foreach You can install R package {foreach} with install.packages("foreach"). library(foreach)
Best Practice: Development of Robust Shiny Dashboards as R Packages
This article describes best practice approaches for developing shiny dashboards. The creation of the dashboard in package form, as well as the use of unit tests should enable the development of robust solutions and guarantee high quality.
We create, maintain, and develop enterprise R Shiny dashboards. We deliver rapid development, scalability to thousands of users, and sophisticated UIUX.
Learn how to use the session argument as a global list for passing parameters between modules in advanced Shiny apps to simplify the objects’ flow in code., organize app content, simplify objects flow logic, decrease bugs, increase speed