열에 expected
나타나는 열의 문자 수를 계산하려고합니다 read
. 다른 순서로 나타날 수 있으며 두 번 계산되지 않아야합니다.
예를 들어,이 df에서
df <- tibble::tibble(expected=c("AL0","CP1","NM3","PK9","RM2"),
read=c("AL0X24",
"CXP44",
"MLN",
"KKRR9",
"22MMRRS"
))
결과는 다음과 같아야합니다.
result <- c(3,2,2,2,3)
가진 옵션 str_extract/n_distinct
. 랩 [
, ]
'예상'열 문자열을 사용하여 paste
, '읽기'와 가진 고유 요소의 수를 계산에서 '기대'의 패턴을 보여 모든 문자를 추출n_distinct
library(stringr)
library(dplyr)
with(df, sapply(str_extract_all(read, paste0("[", expected, "]")), n_distinct))
#[1] 3 2 2 2 3
아니면 또 다른 옵션 str_replace_all
과 함께 str_count
. 여기에서 '읽기'에서 중복 문자를 제거하고 str_replace_all
이를 사용하여 [
, 및]
df %>%
mutate(Count = str_count(str_replace_all(read, "(\\w)\\1+", "\\1"),
str_c("[", expected, "]")))
# A tibble: 5 x 3
# expected read Count
# <chr> <chr> <int>
#1 AL0 AL0X24 3
#2 CP1 CXP44 2
#3 NM3 MLN 2
#4 PK9 KKRR9 2
#5 RM2 22MMRRS 3
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다