Ответ 1
См. ?substr
R> substr(a, 1, 4)
[1] "left"
Я хочу извлечь первые (или последние) n символов строки. Это будет эквивалентно Excel LEFT()
и RIGHT()
. Небольшой пример:
# create a string
a <- paste('left', 'right', sep = '')
a
# [1] "leftright"
Я хотел бы создать b
, строку, которая равна первым четырем буквам a
:
b
# [1] "left"
Что мне делать?
См. ?substr
R> substr(a, 1, 4)
[1] "left"
Пакет stringr
предоставляет функцию str_sub
, которая немного проще в использовании, чем substr
, особенно если вы хотите извлечь правые части своей строки:
R> str_sub("leftright",1,4)
[1] "left"
R> str_sub("leftright",-5,-1)
[1] "right"
Вы можете легко получить функции Right() и Left(), начиная с пакета Rbase:
правая функция
right = function (string, char){
substr(string,nchar(string)-(char-1),nchar(string))
}
левая функция
left = function (string,char){
substr(string,1,char)
}
вы можете использовать эти два пользовательских функционала точно так же, как left() и right() в excel. Надеюсь, вы найдете это полезным.
Сделайте это простым и используйте основные функции R:
# To get the LEFT part:
> substr(a, 1, 4)
[1] "left"
>
# To get the MIDDLE part:
> substr(a, 3, 7)
[1] "ftrig"
>
# To get the RIGHT part:
> substr(a, 5, 10)
[1] "right"
Функция substr()
сообщает вам, где начинаются и останавливаются substr(x, start, stop)