Как найти длину строки в R?
Как найти длину строки (количество символов в строке), не разбивая ее на R? Я знаю, как найти длину списка, но не строки.
а как насчет строк Юникода? Как найти длину (в байтах) и количество символов (рун, символов) в строке Юникода?
Вопрос:
6 ответов:
посмотреть
?nchar. Например:> nchar("foo") [1] 3 > set.seed(10) > strn <- paste(sample(LETTERS, 10), collapse = "") > strn [1] "NHKPBEFTLY" > nchar(strn) [1] 10
использовать и
stri_lengthфункции> stri_length(c("ala ma kota","ABC",NA)) [1] 11 3 NAпочему? Потому что это самый быстрый среди представленных решений:)
require(microbenchmark) require(stringi) require(stringr) x <- c(letters,NA,paste(sample(letters,2000,TRUE),collapse=" ")) microbenchmark(nchar(x),str_length(x),stri_length(x)) Unit: microseconds expr min lq median uq max neval nchar(x) 11.868 12.776 13.1590 13.6475 41.815 100 str_length(x) 30.715 33.159 33.6825 34.1360 173.400 100 stri_length(x) 2.653 3.281 4.0495 4.5380 19.966 100а также отлично работает с NA's
nchar(NA) ## [1] 2 stri_length(NA) ## [1] NA
nchar("STRING")проверить этой
nchar(YOURSTRING)возможно, вам придется сначала преобразовать в вектор символов;
nchar(as.character(YOURSTRING))
Comments