Извлечь значение из интервала из cut () - PullRequest
0 голосов
/ 03 июня 2018

В R для функции 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]?

1 Ответ

0 голосов
/ 03 июня 2018

Мы можем извлечь числа с помощью str_extract, а затем преобразовать их в numeric и получить max.Поскольку числовая часть содержит цифры [0-9] с ., включая отрицательные числа, сопоставляемый шаблон может быть "-?[0-9.]+"

library(stringr)
sapply(str_extract_all(v1, "-?[0-9.]+"), function(x) max(as.numeric(x)))
#[1] 0.5 1.0

data

v1 <- cut(c(0,1),2)
...