programing

R에서 문자열의 길이를 찾는 방법

megabox 2023. 5. 29. 10:29
반응형

R에서 문자열의 길이를 찾는 방법

문자열을 R로 분할하지 않고 문자열의 길이(즉, 문자열의 문자 수)를 찾는 방법은 무엇입니까?목록의 길이는 알 수 있지만 문자열은 찾을 수 없습니다.

유니코드 문자열은?유니코드 문자열의 길이(바이트)와 문자 수(런, 기호)를 찾는 방법은 무엇입니까?

관련 질문:

?nchar예:

> nchar("foo")
[1] 3
> set.seed(10)
> strn <- paste(sample(LETTERS, 10), collapse = "")
> strn
[1] "NHKPBEFTLY"
> nchar(strn)
[1] 10

사용하다stringi패키지 및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와 잘 작동합니다.

nchar(NA)
## [1] 2
stri_length(NA)
## [1] NA

EDIT 2021

NA최신 R 버전을 사용하는 경우 인수가 더 이상 유효하지 않습니다.

당신은 또한 사용할 수 있습니다.stringr패키지:

library(stringr)
str_length("foo")
[1] 3
nchar("STRING")

이것 좀 보세요.

keepNA = TRUE 옵션은 NA와 관련된 문제를 방지합니다.

nchar(NA)
## [1] 2
nchar(NA, keepNA=TRUE)
## [1] NA
nchar(YOURSTRING)

먼저 문자 벡터로 변환해야 할 수 있습니다.

nchar(as.character(YOURSTRING))

언급URL : https://stackoverflow.com/questions/11134812/how-to-find-the-length-of-a-string-in-r

반응형