3
c <- "1 NA NA 4 5 6 NA NA 9 10 NA NA 13 14 15 16 17 18 19 20 NA NA 23 NA NA NA NA"
가 어떻게 그것이 1, 5, 6이 포함되어 테스트 grepl 수있는 다음과 같은 문자가 있다고 가정? 15, 16 등을 오 탐지하지 않고?
c <- "1 NA NA 4 5 6 NA NA 9 10 NA NA 13 14 15 16 17 18 19 20 NA NA 23 NA NA NA NA"
가 어떻게 그것이 1, 5, 6이 포함되어 테스트 grepl 수있는 다음과 같은 문자가 있다고 가정? 15, 16 등을 오 탐지하지 않고?
\\b
1,5,6
주위에 사용할 수 있습니다
:
all(Vectorize(grepl)(paste("\\b", c(1,5,6), "\\b", sep = ""), c))
# [1] TRUE
: 당신이
1,5,6
의 모든 문자열에 포함되어있는 경우, 당신은 패턴 위치에
grepl
를 벡터화 할 수 있습니다 확인하려면
grepl("\\b[156]\\b", c)
# [1] TRUE
을
문자열에서 1
을 제거 할 때 :
c <- "NA NA 4 5 6 NA NA 9 10 NA NA 13 14 15 16 17 18 19 20 NA NA 23 NA NA NA NA"
grepl("\\b[156]\\b", c) # this is or condition, will still give true
# [1] TRUE
all(Vectorize(grepl)(paste("\\b", c(1,5,6), "\\b", sep = ""), c)) # This gives FALSE since
# pattern \\b1\\b is not there
# [1] FALSE
다시 쫓아 가서 죄송합니다. 15와 같이 2 자리 숫자를 추가하는 방법은 무엇입니까? 1, 5, 6, 16을 원할 것입니다. –
붙여 넣기 함수에서 vector에 c (1,5,6,16)로 추가 할 수 있습니다.이 패턴은 \\ b16 \\ b의 패턴을 만들어 16 . – Psidom
마지막 질문 하나 : 당신의 모든 것을 적용하기위한 올바른 접근 방법은 무엇입니까 (벡터화 (grepl) (붙여 넣기 ("\\ b", c (1,5,6), "\\ b", sep = ""), c)) 함수를 data.frame? 예를 들어, 각 행이 만나는 사람들을 부분 집합하기 위해 조건을 충족하는지 여부를 알아 내고 싶습니다. –