Переформатировать вектор - PullRequest
0 голосов
/ 16 мая 2019

вот мой фрейм данных

df <- read.table(text="
 unit 
 (15,30]
 (60,75]
 (75,90]
 (45,60]
",header=TRUE)

Я хотел бы переформатировать это как 15 - 30 И иметь возможность сортировать эти данные по значению, другими словами, я бы хотел использовать команду min (). Который должен вернуть 15 - 30 или max (), который вернет 75 - 90.

1 Ответ

0 голосов
/ 16 мая 2019

Несмотря на то, что формат неправильный и правильный способ - исправить формат из источника, временным решением может быть простое регулярное выражение, которое извлекает первое значение и преобразует его в числовое.т.е.

df$v1 <- as.numeric(gsub('^\\((\\d+),\\d+]$', '\\1', df$unit))
#[1] 15 60 75 45

df[which.min(df$v1),]
#     unit v1
#1 (15,30] 15
df[which.max(df$v1),]
#     unit v1
#3 (75,90] 75
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...