This past weekend I discovered the wonders of c++ thanks to this datacamp course. Although c++ syntax is different, knowing Fortran made this much easier.
Filling a matrix with c++ The following code creates a function that can be called from R to fill a matrix. Something that is different than in Fortran is that to make loops more efficient you have to do right (j) to left (i) instead of left to right.
Why? You want to run R code on the cloud. For whatever reason, you don’t want to use google nor azure. Credit I took most of the code from this gist
The code This function takes a list with your instances, the path to your private key, and returns a cluster object that can be used with the future package. I was told that this function will be part of a new package soon.
Why? You want to run 100 regressions, they each take one hour, and the only difference is the data set they are using. This is an embarrassingly parallel problem. For whatever reason, you want to use Azure instead of google compute engine… Before you start I will assume that:
you have an Azure account, you have correctly installed, and configured doAzureParallel Create some fake data library(dplyr) library(stringr) set.
Why? You want to run 100 regressions, they each take one hour, and the only difference is the data set they are using. This is an embarrassingly parallel problem.
Before you start I will assume that:
you have a Google compute engine account, you have correctly installed, and configured googleComputeEngineR Create some fake data library(googleComputeEngineR) library(dplyr) library(stringr) library(future) library(future.apply) set.seed(12618) n<-10000 fakeData <- list() for(ii in 1:100){ fakeData[[ii]] <- future({ fakeDF <- data.
Why? Until now I’ve been sending emails with R using my Gmail account. This works, but configuring mailR for the first time is always a pain. A few days ago @marked told me about mailgun and how to use it. The great thing is that you only need httr to use it.
How? Using @marked’s gist as my base, I created a tiny R package to make using mailgun even easier:
In order to get mailR I had to create a symlink with:
#ln -s /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/R/lib/libjvm.so ln -s /usr/lib/jvm/java-9-openjdk-amd64/lib/amd64/server/libjvm.so /usr/lib To make life easier, I created a wrapper around it using secret to store my password. To send an email notification, I just have to run:
IMSecrets::email_me()
SSH into my synology and run: sudo su docker run -d -p 8787:8787 -e USER=<username> -e PASSWORD=<password> andrewheiss/tidyverse-rstanarm Configure the Reverse Proxy Go to Control Panel -> Application Portal -> Reverse Proxy and add the following rules