#' Bibliographic data frame time slice
#'
#' Divide a bibliographic data frame into time slice
#'
#'
#'
#' @param M is a bibliographic data frame obtained by the converting function \code{\link{convert2df}}.
#' It is a data matrix with cases corresponding to manuscripts and variables to Field Tag in the original SCOPUS and Clarivate Analytics WoS file.
#' @param breaks is a numeric vector of two or more unique cut points.
#' @param k is an integer value giving the number of intervals into which the data frame is to be cut. \code{k} is used only in case \code{breaks} argument is not provided. The default is \code{k = 5}.
#' @return the value returned from \code{split} is a list containing the data frames for each sub-period.
#'
#'
#'
#' @examples
#'
#' data(scientometrics, package = "bibliometrixData")
#'
#' list_df <- timeslice(scientometrics, breaks = c(1995, 2005))
#'
#' names(list_df)
#'
#' @seealso \code{\link{convert2df}} to import and convert an ISI or SCOPUS Export file in a bibliographic data frame.
#' @seealso \code{\link{biblioAnalysis}} function for bibliometric analysis.
#' @seealso \code{\link{summary}} to obtain a summary of the results.
#' @seealso \code{\link{plot}} to draw some useful plots of the results.
#'
#' @export
timeslice <- function(M,breaks=NA,k=5){
M$PY=as.numeric(M$PY)
period=list()
if (is.na(breaks[1]) & is.numeric(k)){
breaks=(floor(seq(min(M$PY,na.rm=TRUE)-1,max(M$PY,na.rm=TRUE),length.out=k+1)))}
else {breaks=c(min(M$PY,na.rm=TRUE)-1,breaks,max(M$PY,na.rm=TRUE))}
df=cut(M$PY,breaks)
N=levels(df)
ind=as.numeric(df)
df=split(M,ind)
names(df)=N
return(df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.