R/remove_reverts.R

#' Remove reverts from page_revisions table
#'
#' @param revisions A data-frame produced with \code{page_revisions}
#'
#' @return
#' @export
#'

remove_reverts <- function (revisions) {
  
  start <- duplicated(revisions$sha1, fromLast = TRUE) %>% 
    which
  end <- duplicated(revisions$sha1) %>% which
  
  if(length(start) > 0) {
    
    reverted <- lapply(1:length(end), function(i) {
      seq(start[i], end[i], by = 1)
    }) %>% lapply(function(x) {
      x[c(-1, -length(x))]
    }) %>% unlist
    revisions[-c(end, reverted), ]
    
  } else {
    
    revisions
    
  }
  
}
cafeine05/WikiSocio documentation built on May 13, 2019, 10:39 a.m.