#' missing value proportion
#'
#' @param data dataframe or list
#'
#' @return dataframe
#' @export
#'
md.value <- function(data){
if (!is.data.frame(data)){
for (i in 1:length(data)) {
data[[i]] <- cbind(Year=names(data)[i],data[[i]])
}
data <- do.call(plyr::rbind.fill,data)
}
ms <- lapply(unique(data$Year), function(i){
sapply(set::not(colnames(data),'Year','seqn','sdmvpsu','sdmvstra'), function(j){
(data[data$Year==i,j] |> is.na() |> sum()/
data[data$Year==i,j] |> length() * 100) |> round(2)
}) |> t() |> as.data.frame()
}) |> do.call(what = plyr::rbind.fill)
row.names(ms) <- unique(data$Year)
oa <- round((colSums(is.na(data[,set::not(colnames(data),'Year','seqn','sdmvpsu','sdmvstra')]))/nrow(data)*100),2) |>
t() |> data.frame(row.names = 'overall')
rbind(oa,ms)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.