Подсчет количества раз, когда шаблон отображается в наборе данных - PullRequest
0 голосов
/ 17 февраля 2019

Итак, допустим, у меня есть следующий набор данных:

keycard=c("a","b","c","b","c","b","c","a","b")

Я хочу подсчитать, сколько раз "bc" отображается в векторе.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Вы можете выполнить небольшую функцию, как показано ниже, где vec - ваш вектор, number - номер, который вы ищете, а beg и end - начало и конец вектора, в котором вы ищете.для этого:

sum_occurences <- function(vec, number, beg, end) {

  accum <- Reduce(paste0, vec[beg:end], accumulate = T)

  last_two <- substr(accum, nchar(accum) - 1, nchar(accum))

  return(sum(last_two == as.character(number)))

}

Который вы можете применять как:

keycard = c(4,5,2,5,2,4,6,5,2)

sum_occurences(keycard, 52, 1, 5)

[1] 2
0 голосов
/ 17 февраля 2019

Вы можете свернуть свой вектор keycard и обработать его, используя сопоставление с шаблоном с функцией grepRaw():

s <- paste(keycard, collapse = "")

length( grepRaw("bc", s, all = T) )
#[1] 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...