Converting a string vector with names to a numeric vector with names
On Thu, Mar 1, 2012 at 12:28 PM, John C Nash <nashjc at uottawa.ca> wrote:
Not paying close attention to detail, I entered the equivalent of
pstr<-c("b1=200", "b2=50", "b3=0.3")
when what I wanted was
pnum<-c(b1=200, b2=50, b3=0.3)
There was a list thread in 2010 that shows how to deal with un-named vectors, but the same
lapply solution doesn't seem to work here i.e.,
pnum<-lapply(pstr, as.numeric)
or similar vapply version. The names and = signs seem to mess things up.
This is clearly not critical, but it would be nice to know an appropriate transformation.
Here's one: split = sapply(strsplit(pstr, split = "="), I); pnum = as.numeric(split[2, ]); names(pnum) = split[1, ];
pnum
b1 b2 b3 200.0 50.0 0.3 HTH Peter