Подстрока datafame Строка столбец - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть фрейм данных с одним столбцом:

x = data.frame(col = c('PS-01','PS-02','PS-03','PS-04','PS-05','PS-06')

  )

Я хочу подстроковать его с помощью stringr и получить новый фрейм данных с int после PS, который выглядит следующим образом:

x_new = data.frame(col = c(01,02,03,04,05,06)

Как Могу ли я сделать это?

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

Мы можем использовать stringr str_extract

stringr::str_extract(x$col, "(?<=PS-)\\d+")
#[1] "01" "02" "03" "04" "05" "06"

Или использовать тот же шаблон в базе R:

unlist(regmatches(x$col, gregexpr("(?<=PS-)\\d+", x$col, perl = TRUE)))
1 голос
/ 17 февраля 2020

Это должно сделать

gsub("PS-", "", x)

gsub() ищет в x первый аргумент ("PS-") и заменяет его вторым аргументом ("").

А вот stringr версия:

library(stringr)

str_replace(x, "PS-", "")
...