diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..8efdcec --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,15 @@ +Package: tabmofo +Type: Package +Title: My tabmofo +Version: 1.0.0 +Date: 2024-03-07 +Author: [yuanttx] +Maintainer: yuanttx +Description: Some functions for processing tables. +License: GPL-3 +Depends: R (>= 3.6.0) +Imports: +Suggests: +VignetteBuilder: knitr +NeedsCompilation: no +Packaged: 2024-03-07 07:40:07 UTC; yuanhj diff --git a/NAMESPACE b/NAMESPACE new file mode 100644 index 0000000..35b84f5 --- /dev/null +++ b/NAMESPACE @@ -0,0 +1,2 @@ + +export(varsVenn, char2numf, NA2Numf) \ No newline at end of file diff --git a/R/tabmofo.R b/R/tabmofo.R new file mode 100644 index 0000000..871e5f7 --- /dev/null +++ b/R/tabmofo.R @@ -0,0 +1,55 @@ +#' varsVenn +#' +#' This is varsVenn. +#' +#' @param indat A list of sets +#' @return A table +varsVenn <- function(indat) { + SamNum <- length(indat) + SamNM <- names(indat) + inall <- c() + for (i in seq_len(SamNum)) { + assign(paste0("len", i), indat[[i]]) + inall <- unique(c(inall, get(paste0("len", i)))) + } + medat <- data.frame(.allvars = inall) + rownames(medat) <- medat$.allvars + for (k in seq_len(SamNum)) { + checkVars <- get(paste0("len", k)) + medat <- within(medat, { + tempname <- ifelse(inall %in% checkVars, 1, 0) # nolint + }) + names(medat)[k + 1] <- SamNM[k] + } + medat <- medat[, -1] + medat <- cbind(medat, RowSum = rowSums(medat)) + return(medat) +} + + +#' char2numf +#' +#' This is char2numf. charatrs to numbers +#' +#' @param indat A list of sets +#' @return A table +char2numf <- function(indat) { + NumDat <- indat + NumDat <- apply(as.matrix(NumDat), 2, function(x) as.numeric(x)) + NumDat <- as.data.frame(NumDat) + return(NumDat) +} + + +#' replace the NA +#' +#' This is char2numf. charatrs to numbers +#' +#' @param indat A list of sets +#' @return A table +NA2Numf <- function(indat) { + NADat <- as.data.frame(indat) + NADat <- apply(NADat, 2, function(x) { + x[is.na(x)] <- mean(x, na.rm = TRUE) + }) +} \ No newline at end of file diff --git a/tests/testthat.R b/tests/testthat.R new file mode 100644 index 0000000..3f2f63b --- /dev/null +++ b/tests/testthat.R @@ -0,0 +1,6 @@ +library(testthat) +library(tabmofo) + +test_that("myfunction works", { + char2numf("1") == 1 +}) diff --git a/vignettes/vignette.R b/vignettes/vignette.R new file mode 100644 index 0000000..e561ba8 --- /dev/null +++ b/vignettes/vignette.R @@ -0,0 +1,4 @@ +library(tabmofo) + +#' vignette +char2numf("1") \ No newline at end of file