У меня есть список имен, который выглядит следующим образом:
c("xxxxxx xx", "xxx yyy xxxxx", "xxx yy xxxxxx",
"xxxxxxx yyyyyyy xxxxx", "xxxx xxxx", "xxx yyyyyy xxx",
"xxxxx yyyyy xxxxxxxx", "xxx yyyyyyyy xxxx", "xx xxx",
"xxxxx yyyyy xxxxx", "xxxx yy xxxxxx", "xxxxx yyyy xxx",
"xxxxxxx yy xxxxx", "xxxxx yyyyyyy xxxxx", "xxxx yyyy xxxxxx",
"xxxxx yyyy xxxxx", "xxxxxxxx xxxxx", "xxxxxx yyyyyyyy xxxxx",
"xxxxxx yy xxxxx", "xxx yyyy xxxxxx")
Мне нужно извлечь (проиндексировать) все эти имена со словом из 4-6 букв.
Я знаю, что могу split
каждую строку, вычислить их количество символов с помощью nchar
и затем указать, какие из них имеют длину от 2 до 4. Но есть ли способ сделать это с помощью одной строки, используя регулярные выражения ?
Ожидаемый результат должен быть вектором:
Числовой
[1] 1 2 3 5 6 8 9 11 12 13 15 16 20
Или логично
[1] TRUE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE
[11] TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE