R/pop2prof.R

Defines functions pop2prof

Documented in pop2prof

pop2prof <- function(y, labtype = c("profiles", "progressive")) {
    freq <- apply(y, 1, function(x) paste(x, collapse = "/"))
    freq <- table(freq)
    profiles <- strsplit(names(freq), "/")
    profiles <- lapply(profiles, as.numeric)
    profiles <- matrix(
        unlist(profiles),
        ncol = ncol(y),
        byrow = TRUE,
        dimnames = list(names(freq), names(y))
    )
    profiles <- as.data.frame(profiles)
    m <- nrow(profiles)
    if (labtype[1] == "progressive") {
        labels <- sprintf(paste("P%0", ceiling(log(m, 10)), "i", sep = ""), 1:m)
        rownames(profiles) <- names(freq) <- labels
    }
    res <- list(profiles = profiles, freq = freq)
    class(res) <- "wprof"
    return(res)
}

Try the parsec package in your browser

Any scripts or data that you put into this service are public.

parsec documentation built on May 2, 2019, 6:08 p.m.