[R] Converting a string vector with names to a numeric vector with names
Peter Langfelder
peter.langfelder at gmail.com
Thu Mar 1 22:25:58 CET 2012
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
More information about the R-help
mailing list