docopt & Numeric Options

R development programming docopt

Every input is a string in docopt. Every Input!!

Robert M Flight


If you use the docopt package to create command line R executables that take options, there is something to know about numeric command line options: they should have as.double before using them in your script.


Lets set up a new docopt string, that includes both string and numeric arguments.

  test_numeric.R [--string=<string_value>] [--numeric=<numeric_value>]
  test_numeric.R (-h | --help)

Description: Testing how values are passed using docopt.

  --string=<string_value>  A string value [default: Hi!]
  --numeric=<numeric_value>   A numeric value [default: 10]

" -> doc

script_options <- docopt(doc)

## List of 8
##  $ --string : chr "Hi!"
##  $ --numeric: chr "10"
##  $ -h       : logi FALSE
##  $ --help   : logi FALSE
##  $ string   : chr "Hi!"
##  $ numeric  : chr "10"
##  $ h        : logi FALSE
##  $ help     : logi FALSE

It is very easy to see here, that the numeric argument is indeed a string, and if you want to use it as numeric, it should first be converted using as.double, as.integer, or even as.numeric.

Can’t You Easily Tell It’s Character?

I just bring this up because I recently used docopt to provide interfaces to three executables scripts, and I spent a lot of time printing the doc strings, and I somehow never noticed that the numeric values were actually character and needed to be converted to a numeric first. Hopefully this will save someone else some time in that regard.


If you see mistakes or want to suggest changes, please create an issue on the source repository.


Text and figures are licensed under Creative Commons Attribution CC BY 4.0. Source code is available at, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".


For attribution, please cite this work as

Flight (2018, Jan. 17). Deciphering Life: One Bit at a Time: docopt & Numeric Options. Retrieved from

BibTeX citation

  author = {Flight, Robert M},
  title = {Deciphering Life: One Bit at a Time: docopt & Numeric Options},
  url = {},
  year = {2018}