Wyodrębnianie punktów przerwania z przerwami po lewej stronie

Patrzę na przykładowe menu poleceniacut() (example(cut)), szczególnie ta część:

cut> aaa <- c(1,2,3,4,5,2,3,4,5,6,7)

cut> cut(aaa, 3)
[1] (0.994,3] (0.994,3] (3,5]     (3,5]     (3,5]     (0.994,3]
[7] (3,5]     (3,5]     (3,5]     (5,7.01]  (5,7.01] 
Levels: (0.994,3] (3,5] (5,7.01]

cut> cut(aaa, 3, dig.lab = 4, ordered = TRUE)
[1] (0.994,2.998] (0.994,2.998] (2.998,5.002] (2.998,5.002]
[5] (2.998,5.002] (0.994,2.998] (2.998,5.002] (2.998,5.002]
[9] (2.998,5.002] (5.002,7.006] (5.002,7.006]
Levels: (0.994,2.998] < (2.998,5.002] < (5.002,7.006]

cut> ## one way to extract the breakpoints
cut> labs <- levels(cut(aaa, 3))

cut> cbind(lower = as.numeric( sub("\\((.+),.*", "\\1", labs) ),
cut+       upper = as.numeric( sub("[^,]*,([^]]*)\\]", "\\1", labs) ))
     lower upper
[1,] 0.994  3.00
[2,] 3.000  5.00
[3,] 5.000  7.01

Gdzie są odstępyzamknięty po prawej stronie (jak pokazano powyżej), a następnie pokazuje mi sposób na wyodrębnienie punktów przerwania danychcbind()

Załóżmy teraz, że moje dane zostaną wycięte, ale wskazują, że interwały sązamknięty po lewej stronie.

cut(aaa, 3, dig.lab = 4, ordered = TRUE, right = FALSE)

Jak mogę teraz wyodrębnić moje punkty przerwania za pomocą tego samego poleceniacbind()? (Jeśli jest więcej sposobów, zapraszamy)

questionAnswers(1)

yourAnswerToTheQuestion