.vector_repeats <- function(v,value) {
if(typeof(v)!=typeof(value)) {
stop("Error! Vector and element should be of the same type.")
}
a <- rle(v)
repeats <- lapply(which(a[[2]]==value),
function(rle.2,rle.1) {
start <- data.table::fifelse(rle.2 > 1,
sum(rle.1[1:(rle.2-1)]) + 1L,
1L)
return(list(start = start,
end = start + rle.1[rle.2] - 1L,
length = rle.1[rle.2]))
},
rle.1=a[[1]]) |>
data.table::rbindlist()
return(list(data.table::data.table(start=integer(),
end=integer(),
length=integer()),
repeats) |>
data.table::rbindlist())
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.