R에서 나누지 않고 문자열의 길이 (문자열의 문자 수)를 찾는 방법은 무엇입니까? 문자열의 길이가 아닌 목록의 길이를 찾는 방법을 알고 있습니다.
그리고 유니 코드 문자열은 어떻습니까? 유니 코드 문자열에서 길이 (바이트)와 문자 수 (런, 기호)를 찾으려면 어떻게합니까?
관련 질문 :
R에서 나누지 않고 문자열의 길이 (문자열의 문자 수)를 찾는 방법은 무엇입니까? 문자열의 길이가 아닌 목록의 길이를 찾는 방법을 알고 있습니다.
그리고 유니 코드 문자열은 어떻습니까? 유니 코드 문자열에서 길이 (바이트)와 문자 수 (런, 기호)를 찾으려면 어떻게합니까?
관련 질문 :
답변:
참조하십시오 ?nchar
. 예를 들면 다음과 같습니다.
> nchar("foo")
[1] 3
> set.seed(10)
> strn <- paste(sample(LETTERS, 10), collapse = "")
> strn
[1] "NHKPBEFTLY"
> nchar(strn)
[1] 10
nchar(NA)
NA
s가 있는 문자형 벡터입니다 . (그렇게 문서화되어 있음).
stri_length
에서이 stringi
- 그것은 NA의 함께 잘 작동하며 빠른 :) 내 게시물을 확인!
nchar(NA) ## [1] NA
을 참조하십시오 NCHAR RDocumentation
를 사용하여 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
stri_length('\u0105')
길이는 1이지만 ... stri_numbytes('\u0105')
2 바이트가 사용됩니다
nchar()
: 지금 NA의의 인수 계정이allowNA = FALSE
keepNA = TRUE 옵션은 NA 관련 문제를 방지합니다
nchar(NA)
## [1] 2
nchar(NA, keepNA=TRUE)
## [1] NA
nchar(NA) ## [1] NA
을 참조하십시오 NCHAR RDocumentation
nchar(YOURSTRING)
먼저 문자형 벡터로 변환해야 할 수도 있습니다.
nchar(as.character(YOURSTRING))
nchar
. 요인 입력의 nchar
경우 오류가 발생하므로 표시 할 때 먼저 변환을 수행해야합니다.
x
.