Я есть векторудалить элемент из вектора их размера
a = c("sdfdfdf","dfdfd","dfdf","dfdfdfd","dfdf")
Я хочу сохранить только те элементы, которые имеют размер> 5. Как я могу сделать, что
Выход должен быть
a = c("sdfdfdf","dfdfdfd")
Я есть векторудалить элемент из вектора их размера
a = c("sdfdfdf","dfdfd","dfdf","dfdfdfd","dfdf")
Я хочу сохранить только те элементы, которые имеют размер> 5. Как я могу сделать, что
Выход должен быть
a = c("sdfdfdf","dfdfdfd")
Использование nchar
a[nchar(a)>5]
nchar
подсчитывает количество символов в строке см ?nchar
Другой вариант заключается в использовании str_length
из stringr
пакета
library(stringr)
a[str_length(a) > 5]
#[1] "sdfdfdf" "dfdfdfd"
Другой метод с grepl:
a[grepl('\\w{6,}',a)]
Мы можем попробовать
library(stringr)
a[str_detect(a, '^.{6,}$')]
#[1] "sdfdfdf" "dfdfdfd"
почему Downvote? –
Это был не я, но я предполагаю, что нет необходимости использовать библиотеку, когда есть функция base-R, которая буквально делает то же самое. – Heroka
@ Heroka полностью согласен. Но разве мы не можем дать альтернативу? Нужно ли строго следовать одному и только одному решению? –