В R для функции cut()
cut()
> cut(c(0,1),2) [1] (-0.001,0.5] (0.5,1] Levels: (-0.001,0.5] (0.5,1]
Как извлечь число из интервала, скажем max из (-0.001,0.5]?
max
(-0.001,0.5]
Мы можем извлечь числа с помощью str_extract, а затем преобразовать их в numeric и получить max.Поскольку числовая часть содержит цифры [0-9] с ., включая отрицательные числа, сопоставляемый шаблон может быть "-?[0-9.]+"
str_extract
numeric
[0-9]
.
"-?[0-9.]+"
library(stringr) sapply(str_extract_all(v1, "-?[0-9.]+"), function(x) max(as.numeric(x))) #[1] 0.5 1.0
v1 <- cut(c(0,1),2)