#'
#' cumsum(累積和)したときに占める割合を求める
#'
#' @param x numeric 累積和するnumeric型のベクトル
#' @param arrange boolean TRUEなら昇順にしてから求める.FALSEならそのまま
#'
#' @return numeric 全体の何割を占めているかのベクトル
#'
#' @importFrom dplyr %>%
#' @export
#' @examples get_rate_with_cusum(c(30, 10, 20))
get_rate_with_cusum <- function(x, arrange = TRUE){
if(!all(x > 0))
stop("input value needs > 0")
x_sum <- sum(x)
if(arrange){
x_tibble <-
dplyr::tibble(origin = x) %>%
dplyr::mutate(row_origin = dplyr::row_number()) %>%
dplyr::arrange(origin) %>%
dplyr::mutate(cusum = cumsum(origin)) %>%
dplyr::mutate(cusum = cusum / x_sum) %>%
dplyr::arrange(row_origin)
}
else{
x_tibble <-
dplyr::tibble(origin = x) %>%
dplyr::mutate(cusum = cumsum(origin)) %>%
dplyr::mutate(cusum = cusum / x_sum)
}
return(x_tibble$cusum)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.