Skip to content

Instantly share code, notes, and snippets.

window.google = window.google || {};
google.maps = google.maps || {};
(function() {
function getScript(src) {
document.write('<' + 'script src="' + src + '"><' + '/script>');
}
@bhaskarvk
bhaskarvk / getRConfig.sh
Last active September 8, 2016 22:27
Shell Script to get value of every R config flag.
getRConfig() {
echo " R CMD config $1"; R CMD config $1; echo "******************************************************************"; echo
}
(
getRConfig BLAS_LIBS
getRConfig CC
getRConfig CFLAGS
getRConfig CPICFLAGS
getRConfig CPP
getRConfig CPPFLAGS
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
(function (global){
global.colormap = require('/usr/local/lib/node_modules/colormap');
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"/usr/local/lib/node_modules/colormap":7}],2:[function(require,module,exports){
'use strict'
exports.toByteArray = toByteArray
exports.fromByteArray = fromByteArray

Here's an interesting (at least to me) dataset for practicising regression analysis.

The data

First I installed ImageMagic (See ImageMagic documentation for installation on your OS). Then using ImageMagick's convert utility, I generated about 57 png files filled with random noise. The file dimensions go from 512px x 512px to 4096px x 4096px incrementing by 64 px in each direction.

mkdir -p ./data/RandomNoise
cd ./data/RandomNoise &amp;&amp; \
File.Size reading_function Object.Size Mem.Increase User.Time System.Time Elapsed.Time
1576105 magick::image_read 1049048 1050920 0.0170000000000528 0.00200000000000244 0.0264999999999418
1994600 magick::image_read 1327576 1329448 0.0194999999999936 0.00300000000000011 0.0309999999999491
2462383 magick::image_read 1638872 1640744 0.0244999999999891 0.00300000000000011 0.0400000000004184
2979319 magick::image_read 1982936 1984808 0.0294999999999845 0.00499999999999545 0.0474999999996726
3545586 magick::image_read 2359768 2361640 0.0364999999999895 0.00600000000000023 0.0559999999995853
4160985 magick::image_read 2769368 2771240 0.0399999999999636 0.00600000000000023 0.0619999999998981
4825702 magick::image_read 3211736 3213608 0.0475000000000136 0.007000000000005 0.0750000000007276
5539565 magick::image_read 3686872 3688744 0.0534999999999854 0.00800000000000267 0.0825000000004366
6302748 magick::image_read 4194776 4196648 0.0579999999999927 0.00900000000000745 0.090999999999439
File.Size reading_function Object.Size Mem.Increase User.Time System.Time Elapsed.Time
1576105 magick::image_read 1049048 1050908.8 0.0163000000000125 0.00200000000000244 0.0262000000002445
1994600 magick::image_read 1327576 1329448 0.01899999999996 0.00289999999999822 0.0315000000001419
2462383 magick::image_read 1638872 1640744 0.0244000000000256 0.0032999999999987 0.0390000000003056
2979319 magick::image_read 1982936 1984808 0.0296000000000163 0.00450000000000017 0.047899999999936
3545586 magick::image_read 2359768 2361640 0.0365000000000009 0.0055000000000021 0.0559999999998581
4160985 magick::image_read 2769368 2771240 0.0395999999999844 0.00600000000000023 0.0625
4825702 magick::image_read 3211736 3213608 0.0467999999999847 0.00690000000000168 0.0738999999997759
5539565 magick::image_read 3686872 3688744 0.0539000000000101 0.00789999999999935 0.0832000000000335
6302748 magick::image_read 4194776 4196648 0.0580000000000268 0.0083999999999989 0.0868999999997868
library(magrittr)
# You will also nead
# stringr, dplyr, purrr, pryr, tidyr, magick
# Install magic with devtools::install('ropensci/magick') CRAN copy won't work.
# Shell code to generate some random images
# mkdir -p ./data/RandomNoise
# (cd ./data/RandomNoise && for i in `seq 512 64 4096`; do convert -size ${i}x${i} xc: +noise Random random-${i}_$i.png; done)
We can make this file beautiful and searchable if this error is corrected: It looks like row 10 should actually have 8 columns, instead of 7. in line 9.
"reading_function","Iteration","File.Size","Object.Size","Mem.Increase","User.Time","System.Time","Elapsed.Time"
"magick::image_read",1,1576105,1049048,1051096,0.01400000000001,0.00200000000000955,0.0239999999994325
"magick::image_read",1,1994600,1327576,1329448,0.0209999999999582,0.00199999999999534,0.032999999999447
"magick::image_read",1,2462383,1638872,1640744,0.0240000000000009,0.00200000000000955,0.0399999999999636
"magick::image_read",1,2979319,1982936,1984808,0.0300000000000864,0.00300000000000011,0.0480000000006839
"magick::image_read",1,3545586,2359768,2361640,0.0359999999999445,0.00400000000000489,0.0560000000004948
"magick::image_read",1,4160985,2769368,2771240,0.0399999999999636,0.00400000000000489,0.0619999999998981
"magick::image_read",1,4825702,3211736,3213608,0.0489999999999782,0.00500000000000966,0.0750000000007276
"magick::image_read",1,5539565,3686872,3688744,0.0570000000000164,0.00600000000000023,0.0879999999997381
"magick::image_read",1,6302748,4194776,4196648,0.0490000000000919,0.001999
@bhaskarvk
bhaskarvk / imager_vs_magick-read_perf.R
Last active August 24, 2016 00:58
Comparison of image read performance of imager and magick packages.
# You will need to generate images of varying size using ImageMagic's convert utility on the shell.
# The shell code below will not work under Windows. Sorry! bash-only.
# Run the following shell code to generate some random images
# mkdir -p ./data/RandomNoise
# (cd ./data/RandomNoise && for i in `seq 100 100 4000`; do convert -size ${i}x${i} xc: +noise Random random-${i}_$i.png;done)
# You'll need the following R packages
# dplyr, purrr, magick, imager, magrittr, gridExtra, ggplot2, stringr
d <- './data/RandomNoise'
l1 <- list(as.list(1:4),
as.list(11:15))
l2 <- list(list('a.1'=1,'a.2'=2,'a.3'=3,'a.4'=4),
list('b.1'=1,'b.2'=2,'b.3'=3,'b.4'=4,'b.5'=5))
lapply(l1,names) # should be nulls
lapply(l2,names) # should be 'a.1' ...
# Use copy so as to leave l1 intact
t1 <- l1