While exploring the Julia manual recently, I realized that it might be helpful to put the basic vocabularies of Julia and R side-by-side for easy comparison. So I took Hadley Wickham’s R Vocabulary section from the book he’s putting together on the devtools wiki, put all of the functions Hadley listed into a CSV file, and proceeded to fill in entries where I knew of an obvious Julia equivalent to an R function.

The results are on GitHub and, as they stand today, are shown below:

R Julia Category Subcategory https:// github.com/ hadley/devtools/ wiki/vocabulary http:// julialang.org/ manual/ standard- library-reference/ Resources Vocabulary ? help Basics First Functions str Basics First Functions %in% Basics Operators match Basics Operators = = Basics Operators = Basics Operators < Basics Operators assign Basics Operators $ [] Basics Operators [] [] Basics Operators [[]] [] Basics Operators replace Basics Operators head Basics Operators tail Basics Operators subset Basics Operators with Basics Operators within Basics Operators all.equal Basics Comparison identical Basics Comparison != != Basics Comparison == == Basics Comparison > > Basics Comparison >= >= Basics Comparison < < Basics Comparison <= <= Basics Comparison is.na Basics Comparison is.nan Basics Comparison is.finite Basics Comparison complete.cases Basics Comparison * * Basics Basic Math + + Basics Basic Math – – Basics Basic Math / / Basics Basic Math ^ ^ Basics Basic Math %% mod (%%) Basics Basic Math %/% div Basics Basic Math abs abs Basics Basic Math sign sign Basics Basic Math acos acos Basics Basic Math acosh acosh Basics Basic Math asin asin Basics Basic Math asinh asinh Basics Basic Math atan atan Basics Basic Math atan2 atan2 Basics Basic Math atanh atanh Basics Basic Math sin sin Basics Basic Math sinh sinh Basics Basic Math cos cos Basics Basic Math cosh cosh Basics Basic Math tan tan Basics Basic Math tanh tanh Basics Basic Math ceiling ceil Basics Basic Math floor floor Basics Basic Math round round Basics Basic Math trunc trunc Basics Basic Math signif Basics Basic Math exp exp Basics Basic Math log log Basics Basic Math log10 log10 Basics Basic Math log1p log1p Basics Basic Math log2 log2 Basics Basic Math logb Basics Basic Math sqrt sqrt Basics Basic Math cummax Basics Basic Math cummin Basics Basic Math cumprod cumprod Basics Basic Math cumsum cumsum Basics Basic Math diff diff Basics Basic Math max max Basics Basic Math min min Basics Basic Math prod prod Basics Basic Math sum sum Basics Basic Math range Basics Basic Math mean mean Basics Basic Math median median Basics Basic Math cor cor_pearson Basics Basic Math cov cov_pearson Basics Basic Math sd std Basics Basic Math var var Basics Basic Math pmax Basics Basic Math pmin Basics Basic Math rle Basics Basic Math function function Basics Functions missing Basics Functions on.exit Basics Functions return return Basics Functions invisible Basics Functions & & Basics Logical & Set Operations | | Basics Logical & Set Operations ! ! Basics Logical & Set Operations xor Basics Logical & Set Operations all all Basics Logical & Set Operations any any Basics Logical & Set Operations intersect intersect Basics Logical & Set Operations union union Basics Logical & Set Operations setdiff Basics Logical & Set Operations setequal Basics Logical & Set Operations which find Basics Logical & Set Operations c [] ({}) Basics Vectors and Matrices matrix [] ({}) Basics Vectors and Matrices length size (length) Basics Vectors and Matrices dim size Basics Vectors and Matrices ncol size(x, 1) Basics Vectors and Matrices nrow size(x, 2) Basics Vectors and Matrices cbind hcat Basics Vectors and Matrices rbind vcat Basics Vectors and Matrices names Basics Vectors and Matrices colnames Basics Vectors and Matrices rownames Basics Vectors and Matrices t ‘ Basics Vectors and Matrices diag eye Basics Vectors and Matrices sweep Basics Vectors and Matrices as.matrix Basics Vectors and Matrices data.matrix Basics Vectors and Matrices c [] ({}) Basics Making Vectors rep Basics Making Vectors seq [from:by:to] Basics Making Vectors seq_along Basics Making Vectors seq_len [1:len] Basics Making Vectors rev reverse Basics Making Vectors sample Basics Making Vectors choose factorial Basics Making Vectors factorial factorial Basics Making Vectors combn Basics Making Vectors (is/as).(character/numeric/logical) Basics Making Vectors list HashTable ([]) Basics Lists & Data Frames unlist Basics Lists & Data Frames data.frame Basics Lists & Data Frames as.data.frame Basics Lists & Data Frames split Basics Lists & Data Frames expand.grid Basics Lists & Data Frames if if Basics Control Flow && && Basics Control Flow || || Basics Control Flow for for Basics Control Flow while while Basics Control Flow next continue Basics Control Flow break break Basics Control Flow switch Basics Control Flow ifelse Basics Control Flow fitted Statistics Linear Models predict Statistics Linear Models resid Statistics Linear Models rstandard Statistics Linear Models lm Statistics Linear Models glm Statistics Linear Models hat Statistics Linear Models influence.measures Statistics Linear Models logLik Statistics Linear Models df Statistics Linear Models deviance Statistics Linear Models formula Statistics Linear Models ~ Statistics Linear Models I Statistics Linear Models anova Statistics Linear Models coef Statistics Linear Models confint Statistics Linear Models vcov Statistics Linear Models contrasts Statistics Linear Models apropos(‘\\.test$’) Statistics Miscellaneous Statistical Tests beta beta Statistics Random Numbers binom binom Statistics Random Numbers cauchy cauchy Statistics Random Numbers chisq chisq Statistics Random Numbers exp exp Statistics Random Numbers f f Statistics Random Numbers gamma gamma Statistics Random Numbers geom geom Statistics Random Numbers hyper hyper Statistics Random Numbers lnorm lnorm Statistics Random Numbers logis logis Statistics Random Numbers multinom multinom Statistics Random Numbers nbinom nbinom Statistics Random Numbers norm norm Statistics Random Numbers pois pois Statistics Random Numbers signrank signrank Statistics Random Numbers t t Statistics Random Numbers unif unif (rand) Statistics Random Numbers weibull weibull Statistics Random Numbers wilcox wilcox Statistics Random Numbers birthday birthday Statistics Random Numbers tukey tukey Statistics Random Numbers crossprod * Statistics Matrix Algebra tcrossprod * Statistics Matrix Algebra eigen eig Statistics Matrix Algebra qr qr Statistics Matrix Algebra svd svd Statistics Matrix Algebra %*% * Statistics Matrix Algebra %o% Statistics Matrix Algebra outer Statistics Matrix Algebra rcond Statistics Matrix Algebra solve \ Statistics Matrix Algebra duplicated Statistics Ordering and Tabulating unique Statistics Ordering and Tabulating merge Statistics Ordering and Tabulating order Statistics Ordering and Tabulating rank Statistics Ordering and Tabulating quantile quantile Statistics Ordering and Tabulating sort sort Statistics Ordering and Tabulating table Statistics Ordering and Tabulating ftable Statistics Ordering and Tabulating ls whos Working with R Workspace exists Working with R Workspace get Working with R Workspace rm Working with R Workspace getwd getcwd Working with R Workspace setwd setcwd Working with R Workspace q Ctrl-D Working with R Workspace source load Working with R Workspace install.packages Working with R Workspace library Working with R Workspace require Working with R Workspace help help Working with R Help ? help Working with R Help help.search Working with R Help apropos Working with R Help RSiteSearch Working with R Help citation Working with R Help demo Working with R Help example Working with R Help vignette Working with R Help traceback Working with R Debugging browser Working with R Debugging recover Working with R Debugging options(error =) Working with R Debugging stop Working with R Debugging warning Working with R Debugging message Working with R Debugging tryCatch try/catch Working with R Debugging try try Working with R Debugging print print (println) I/O Output cat I/O Output message I/O Output warning I/O Output dput I/O Output format I/O Output sink I/O Output data I/O Reading and Writing Data count.fields I/O Reading and Writing Data read.csv csvread I/O Reading and Writing Data read.delim dlmread I/O Reading and Writing Data read.fwf I/O Reading and Writing Data read.table I/O Reading and Writing Data library(foreign) I/O Reading and Writing Data write.table dlmwrite I/O Reading and Writing Data readLines readlines I/O Reading and Writing Data writeLines I/O Reading and Writing Data load I/O Reading and Writing Data save I/O Reading and Writing Data readRDS I/O Reading and Writing Data saveRDS I/O Reading and Writing Data dir I/O Files and Directories basename I/O Files and Directories dirname I/O Files and Directories file.path I/O Files and Directories path.expand I/O Files and Directories file.choose I/O Files and Directories file.copy I/O Files and Directories file.create I/O Files and Directories file.remove I/O Files and Directories path.rename I/O Files and Directories dir.create I/O Files and Directories file.exists I/O Files and Directories tempdir I/O Files and Directories tempfile I/O Files and Directories download.file I/O Files and Directories ISOdate Special Data Date / Time ISOdatetime Special Data Date / Time strftime Special Data Date / Time strptime Special Data Date / Time date Special Data Date / Time difftime Special Data Date / Time julian Special Data Date / Time months Special Data Date / Time quarters Special Data Date / Time weekdays Special Data Date / Time library(lubridate) Special Data Date / Time grep match Special Data Character Manipulation agrep Special Data Character Manipulation gsub Special Data Character Manipulation strsplit split Special Data Character Manipulation chartr Special Data Character Manipulation nchar strlen Special Data Character Manipulation tolower Special Data Character Manipulation toupper Special Data Character Manipulation substr Special Data Character Manipulation paste join Special Data Character Manipulation library(stringr) Special Data Character Manipulation factor Special Data Factors levels Special Data Factors nlevels Special Data Factors reorder Special Data Factors relevel Special Data Factors cut Special Data Factors findInterval Special Data Factors interaction Special Data Factors options(stringsAsFactors = FALSE) Special Data Factors array [] Special Data Array Manipulation dim size Special Data Array Manipulation dimnames Special Data Array Manipulation aperm Special Data Array Manipulation library(abind) Special Data Array Manipulation

I’d like to note that holes in the list of Julia functions can exist for several reasons:

The language does not yet have the relevant features. This is true of things like factor() or data.frame() . The language has draft implementations of the relevant features, but they are not yet ready to make their way into this list. This is true of Doug Bates’ GLM code, for example. I simply don’t know what the Julia equivalent is for an R function, but it may well exist. If you know of one, please fork the GitHub repository I’m using and revise the CSV file appropriately. I’ll integrate relevant pull requests as soon as I can find time.

In addition to explaining the presence of the many holes you can see this in this list, I’d also like to note how quickly these holes are being filled in: Doug Bates already finished a wrapper for the Rmath library, which means that Julia now has tools for calculating the PDF’s, CDF’s, and inverse CDF’s of most statistical distributions as well as the ability to draw random samples from them. That means that almost any sort of MCMC you’d like to do is already possible in Julia. (I, for one, am really interested to see if someone will use Julia’s sparse matrix support and these new Rmath functions to build MCMC code that’s easy on the eyes while also running at an appropriately fast speed on complicated, big data problems like matrix factorizations.)

On my end, I’ve been working on filling some of the missing entries in this list by adding in pieces that I think I understand well enough to implement from scratch, such as:

Optimization algorithms (optim.jl):

Simulated annealing



Gradient descent



Newton’s method

Statistical hypothesis tests (stats.jl):

t-Tests

Utility functions (utils.jl):

range



keys



cummax



cummin