How to get maximum and minimum values of a range factor in R? -


hi i'm new r , cannot figure how following:

i have output of cut function seems ranges of type factor

 [1] (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] [3.09e+04,6e+04]   (1.74e+05,2.4e+05]  [5] (1.74e+05,2.4e+05] (1.1e+05,1.74e+05] [3.09e+04,6e+04]   [3.09e+04,6e+04]    [9] [3.09e+04,6e+04]   [3.09e+04,6e+04]   (6e+04,1.1e+05]    (1.1e+05,1.74e+05] [13] (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    [17] (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    [21] (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    [25] (6e+04,1.1e+05]    (6e+04,1.1e+05]    (6e+04,1.1e+05]    (1.1e+05,1.74e+05] [29] (6e+04,1.1e+05]    (1.1e+05,1.74e+05] (1.74e+05,2.4e+05] (6e+04,1.1e+05]    [33] [3.09e+04,6e+04]   (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] (6e+04,1.1e+05]    [37] (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] [41] [3.09e+04,6e+04]   [3.09e+04,6e+04]   (6e+04,1.1e+05]    (1.1e+05,1.74e+05] [45] (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] (6e+04,1.1e+05]    (6e+04,1.1e+05]    [49] (6e+04,1.1e+05]    (6e+04,1.1e+05]    (1.1e+05,1.74e+05] (1.1e+05,1.74e+05] [53] (6e+04,1.1e+05]    (1.1e+05,1.74e+05] (1.74e+05,2.4e+05] [3.09e+04,6e+04]   [57] [3.09e+04,6e+04]   4 levels: [3.09e+04,6e+04] (6e+04,1.1e+05] ... (1.74e+05,2.4e+05] 

how can maximum possible value in ranges?

we can use sub extract numeric values levels of cut factor vector, convert numeric , min , max vectors ('first' , 'last').

first <- as.numeric(sub("(\\(|\\[)([^,]+),.*", "\\2", levels(v1))) last <- as.numeric(sub(".*,([^]]+)\\]", "\\1", levels(v1))) min(first) max(last) 

data

v1 <- structure(c(1l, 3l, 2l, 1l), .label = c("(1.1e+05,1.74e+05]",          "(6e+04,1.1e+05]", "[3.09e+04,6e+04]"), class = "factor") 

Comments