2014-04-17 3 views
0

문자열이 있습니다.R의 문자 문자열에서 단일 문자의 정확한 수를 찾는 방법?

c = c("a", "about", "base", "base", "h2o", "h", "yes", "a", "c", "h", "d") 

특정 단일 문자 (예 :. "a", "c", "h", "d"는 문자열에서 반복됩니다. 나는 시도했다

grep("a", c, fixed=TRUE, useBytes=TRUE) 

그러나 "about"과 "base"를 포함하여 "a"가 나타나는 모든 위치를 제공한다. 나는 또한 시도했다

match("a", c) 

슬프게도, 그것은 단지 첫 번째 일치의 위치를 ​​제공하고 다음 일치를 무시합니다.

"a"의 위치를 ​​모두 얻는 방법은 1과 8이어야합니까? 그냥 tablewhich을 찾고있는 것처럼

+2

합니까'그렙에서 당신이 정규 표현식을 변경할 수있는 (X == "A") '네가 원하는 걸 얻으려고? –

답변

2

그것은 소리 :

String <- c("a", "about", "base", "base", "h2o", "h", "yes", "a", "c", "h", "d") 
table(String) 
# String 
#  a about base  c  d  h h2o yes 
#  2  1  2  1  1  2  1  1 

which(String == "a") 
# [1] 1 8 

nchar(String) 
# [1] 1 5 4 4 3 1 3 1 1 1 1 

table(String[nchar(String) == 1]) 
# 
# a c d h 
# 2 1 1 2 
+1

@TylerRinker, 지금 당장 읽을만한 곳이 너무 늦었습니다 :-) – A5C1D2H2I1M1N2O1R2T1

+0

'샘플 (c (T, F), 1)'에 대한 앱을 썼습니다 :-) –

0

당신은 단지

v = c("a", "about", "base", "base", "h2o", "h", "yes", "a", "c", "h", "d") 
grep("^a$", v) 
#[1] 1 8 
length(grep("^a$", v)) 
#[1] 2 
관련 문제