Dirk Eddelbuettel — written Jan 15, 2013 — source
We introduced Boost in a first post doing some integer math. In this post we want to look at the very versatile Boost.Lexical_Cast library to convert text to numbers – see the Motivation for more.
As before, I should note that I initially wrote this post on a machine with Boost
in a standard system location. So stuff just works. Others may have had to install Boost from source,
and into a non-standard location, which may have required an -I
flag,
not unlike how we initially added
the C++11 flag in this post before the corresponding plugin was added.
This is now automated thanks to the BH package which, if installed, provides Boost headers for use by R in compilations just like this one.
This simple program uses the exceptions idiom we
discussed to branch: when a value cannot
be converted, a NA
value is inserted.
We can test the example:
[1] 1.23 0.40 1000.00 NA 42.00 NATweet