[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