[R] Character (1a, 1b) to numeric

Fox, John j|ox @end|ng |rom mcm@@ter@c@
Fri Jul 10 20:10:27 CEST 2020


Dear Jean-Louis,

There must be many ways to do this. Here's one simple way (with no claim of optimality!):

> xc <-  c("1", "1a", "1b", "1c", "2", "2a", "2b", "2c")
> xn <- c(1, 1.3, 1.5, 1.7, 2, 2.3, 2.5, 2.7)
> 
> set.seed(123) # for reproducibility
> x <- sample(xc, 20, replace=TRUE) # "data"
> 
> names(xn) <- xc
> z <- xn[x]
> 
> data.frame(z, x)
     z  x
1  2.5 2b
2  2.5 2b
3  1.5 1b
4  2.3 2a
5  1.5 1b
6  1.3 1a
7  1.3 1a
8  2.3 2a
9  1.5 1b
10 2.0  2
11 1.7 1c
12 2.3 2a
13 2.3 2a
14 1.0  1
15 1.3 1a
16 1.5 1b
17 2.7 2c
18 2.0  2
19 1.5 1b
20 1.5 1b

I hope this helps,
 John

  -----------------------------
  John Fox, Professor Emeritus
  McMaster University
  Hamilton, Ontario, Canada
  Web: http::/socserv.mcmaster.ca/jfox

> On Jul 10, 2020, at 1:50 PM, Jean-Louis Abitbol <abitbol using sent.com> wrote:
> 
> Dear All
> 
> I have a character vector,  representing histology stages, such as for example:
> xc <-  c("1", "1a", "1b", "1c", "2", "2a", "2b", "2c")
> 
> and this goes on to 3, 3a etc in various order for each patient. I do have of course a pre-established  classification available which does change according to the histology criteria under assessment.
> 
> I would want to convert xc, for plotting reasons, to a numeric vector such as
> 
> xn <- c(1, 1.3, 1.5, 1.7, 2, 2.3, 2.5, 2.7)
> 
> Unfortunately I have no clue on how to do that.
> 
> Thanks for any help and apologies if I am missing the obvious way to do it.
> 
> JL
> -- 
> Verif30042020
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list