R/bradford.R

ok.bibliometrics.bradford <- function(sources.vector) { # 1:n:n^2
  res <- list()
  res$vector <- sources.vector
  res$table <- table(sources.vector) %>% sort(T)
  res$table.of.table <- table(res$table)
  res$cumulated <- cumsum(res$table)
  res$one_third <- sum(res$table)/3
  res$borders <- c(which(min(abs(res$cumulated-res$one_third))==abs((res$cumulated-res$one_third))), which(min(abs(res$cumulated-res$one_third*2))==abs((res$cumulated-res$one_third*2))))
  res$sources.container <- c(res$borders[1], res$borders[2]-res$borders[1],length(res$table)-res$borders[2]) %>% unname()
  res$sources.no.container <- c(sum(res$table[1:res$borders[1]]), sum(res$table[(res$borders[1]+1):res$borders[2]]), sum(res$table[(res$borders[2]+1):length(res$table)]))
  res$bradford.divided <- res$sources.container / res$sources.container[1]
  res$fitted.power <- log(res$bradford.divided[3],res$bradford.divided[2])
  res$fitted.n <- res$bradford.divided[2]
  return(res)
}
theogrost/bibliometricLaws documentation built on July 2, 2019, 8:56 p.m.