From feeb9410b55df019ff71a25458bc6641f8138d06 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Mon, 27 Mar 2023 10:29:10 -0400 Subject: [PATCH 01/11] Added new example_dataset and used it in the example for the euclideanDist function --- .Rbuildignore | 4 ++++ .gitignore | 4 ++++ DESCRIPTION | 2 +- NAMESPACE | 1 + R/data.R | 11 +++++++++++ data-raw/example_data.R | 6 ++++++ 6 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 R/data.R create mode 100644 data-raw/example_data.R diff --git a/.Rbuildignore b/.Rbuildignore index 88b0533..f03f591 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,3 +1,5 @@ +^renv$ +^renv\.lock$ ^LICENSE\.md$ ^.*\.Rproj$ ^\.Rproj\.user$ @@ -6,3 +8,5 @@ ^docs$ ^pkgdown$ ^\.lintr$ +renv* +^data-raw$ diff --git a/.gitignore b/.gitignore index 0dddc4b..44bf24f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,10 @@ .Rhistory .Rapp.history +# R things +.Rprofile +renv/ + # Session Data files .RData diff --git a/DESCRIPTION b/DESCRIPTION index e2161da..44e2b55 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -15,7 +15,7 @@ Encoding: UTF-8 biocViews: Clustering LazyData: false Roxygen: list(markdown = TRUE) -RoxygenNote: 7.1.1 +RoxygenNote: 7.2.3 Suggests: knitr, rmarkdown, diff --git a/NAMESPACE b/NAMESPACE index 01843dc..6bd620a 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,3 +1,4 @@ # Generated by roxygen2: do not edit by hand +export(euclideanDist) export(hello) diff --git a/R/data.R b/R/data.R new file mode 100644 index 0000000..15bcc79 --- /dev/null +++ b/R/data.R @@ -0,0 +1,11 @@ +#' Example dataset +#' +#' A dataset containing a matrix with two columns that were generated +#' with a random normal distribution with a mean of 0 and stdev of 1. +#' +#' @format A matrix with 100 rows and 2 columns +#' @keywords datasets +#' @usage data("example_data") +#' @examples +#' data("example_data") +"example_data" diff --git a/data-raw/example_data.R b/data-raw/example_data.R new file mode 100644 index 0000000..9adb098 --- /dev/null +++ b/data-raw/example_data.R @@ -0,0 +1,6 @@ +## code to prepare `example_data` dataset goes here +set.seed(123) +a <- rnorm(100) +b <- rnorm(100) +example_data <- cbind(a, b) +usethis::use_data(example_data, overwrite = TRUE) \ No newline at end of file From 191ecefed4643edfc03f7ee2faa6fb63f6cd14f5 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Mon, 27 Mar 2023 10:30:58 -0400 Subject: [PATCH 02/11] added new example dataset and used it in the example for the euclidianDist function --- R/distance.R | 31 ++ man/euclideanDist.Rd | 25 ++ renv.lock | 854 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 910 insertions(+) create mode 100644 R/distance.R create mode 100644 man/euclideanDist.Rd create mode 100644 renv.lock diff --git a/R/distance.R b/R/distance.R new file mode 100644 index 0000000..b55d3e4 --- /dev/null +++ b/R/distance.R @@ -0,0 +1,31 @@ +#' @title Euclidean distance +#' @description Calculates Euclidean distance between two vectors. An error will be +#' given if NAs are present in either vector. +#' +#' @param a The first vector to use in the distance calculation. +#' @param b The second vector to use in the distance calculation. +#' @param verbose Boolean. If \code{TRUE}, a message will be printed. Default \code{TRUE}. +#' @return A numeric value of a distance#' +#' @examples +#' data(example_data) +#' euclideanDist(example_data[,1], example_data[,2], verbose = FALSE) +#' @export +euclideanDist <- function(a, b, verbose = FALSE) { + if (isTRUE(verbose)) { + message("Calculating distance ...") + } + + # Check validity of data + .check_data(a) + .check_data(b) + + # Perform calculation + res <- sqrt(sum((a-b)^2)) + return(res) +} + +.check_data <- function(input) { + if (any(is.na(input))) { + stop("'input' must not contain NAs") + } +} \ No newline at end of file diff --git a/man/euclideanDist.Rd b/man/euclideanDist.Rd new file mode 100644 index 0000000..f5e51f4 --- /dev/null +++ b/man/euclideanDist.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/distance.R +\name{euclideanDist} +\alias{euclideanDist} +\title{Euclidean distance} +\usage{ +euclideanDist(a, b, verbose = FALSE) +} +\arguments{ +\item{a}{The first vector to use in the distance calculation.} + +\item{b}{The second vector to use in the distance calculation.} + +\item{verbose}{Boolean. If \code{TRUE}, a message will be printed. Default \code{TRUE}.} +} +\value{ +A numeric value of a distance +} +\description{ +Calculates Euclidean distance between two vectors. An error will be +given if NAs are present in either vector. +} +\examples{ +euclideanDist(c(1, 2), c(2, 3), verbose = FALSE) +} diff --git a/renv.lock b/renv.lock new file mode 100644 index 0000000..75b8717 --- /dev/null +++ b/renv.lock @@ -0,0 +1,854 @@ +{ + "R": { + "Version": "4.2.3", + "Repositories": [ + { + "Name": "BioCsoft", + "URL": "https://bioconductor.org/packages/3.16/bioc" + }, + { + "Name": "BioCann", + "URL": "https://bioconductor.org/packages/3.16/data/annotation" + }, + { + "Name": "BioCexp", + "URL": "https://bioconductor.org/packages/3.16/data/experiment" + }, + { + "Name": "BioCworkflows", + "URL": "https://bioconductor.org/packages/3.16/workflows" + }, + { + "Name": "BioCbooks", + "URL": "https://bioconductor.org/packages/3.16/books" + }, + { + "Name": "CRAN", + "URL": "https://cran.rstudio.com" + } + ] + }, + "Packages": { + "R6": { + "Package": "R6", + "Version": "2.5.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "470851b6d5d0ac559e9d01bb352b4021" + }, + "askpass": { + "Package": "askpass", + "Version": "1.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "sys" + ], + "Hash": "e8a22846fff485f0be3770c2da758713" + }, + "base64enc": { + "Package": "base64enc", + "Version": "0.1-3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "543776ae6848fde2f48ff3816d0628bc" + }, + "brio": { + "Package": "brio", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "976cf154dfb043c012d87cddd8bca363" + }, + "bslib": { + "Package": "bslib", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "base64enc", + "cachem", + "grDevices", + "htmltools", + "jquerylib", + "jsonlite", + "memoise", + "mime", + "rlang", + "sass" + ], + "Hash": "a7fbf03946ad741129dc81098722fca1" + }, + "cachem": { + "Package": "cachem", + "Version": "1.0.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "fastmap", + "rlang" + ], + "Hash": "cda74447c42f529de601fe4d4050daef" + }, + "callr": { + "Package": "callr", + "Version": "3.7.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "processx", + "utils" + ], + "Hash": "9b2191ede20fa29828139b9900922e51" + }, + "cli": { + "Package": "cli", + "Version": "3.6.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "89e6d8219950eac806ae0c489052048a" + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.4.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ed588261931ee3be2c700d22e94a29ab" + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "grDevices", + "methods", + "utils" + ], + "Hash": "e8a1e41acf02548751f45c718d55aa6a" + }, + "curl": { + "Package": "curl", + "Version": "5.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "e4f97056611e8e6b8b852d13b7400cf1" + }, + "desc": { + "Package": "desc", + "Version": "1.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "cli", + "rprojroot", + "utils" + ], + "Hash": "6b9602c7ebbe87101a9c8edb6e8b6d21" + }, + "diffobj": { + "Package": "diffobj", + "Version": "0.3.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "crayon", + "methods", + "stats", + "tools", + "utils" + ], + "Hash": "bcaa8b95f8d7d01a5dedfd959ce88ab8" + }, + "digest": { + "Package": "digest", + "Version": "0.6.31", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "8b708f296afd9ae69f450f9640be8990" + }, + "downlit": { + "Package": "downlit", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "brio", + "desc", + "digest", + "evaluate", + "fansi", + "memoise", + "rlang", + "vctrs", + "withr", + "yaml" + ], + "Hash": "79bf3f66590752ffbba20f8d2da94c7c" + }, + "ellipsis": { + "Package": "ellipsis", + "Version": "0.3.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "rlang" + ], + "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077" + }, + "evaluate": { + "Package": "evaluate", + "Version": "0.20", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "4b68aa51edd89a0e044a66e75ae3cc6c" + }, + "fansi": { + "Package": "fansi", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "grDevices", + "utils" + ], + "Hash": "1d9e7ad3c8312a192dea7d3db0274fde" + }, + "fastmap": { + "Package": "fastmap", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f7736a18de97dea803bde0a2daaafb27" + }, + "fontawesome": { + "Package": "fontawesome", + "Version": "0.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "htmltools", + "rlang" + ], + "Hash": "e80750aec5717dedc019ad7ee40e4a7c" + }, + "fs": { + "Package": "fs", + "Version": "1.6.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "f4dcd23b67e33d851d2079f703e8b985" + }, + "glue": { + "Package": "glue", + "Version": "1.6.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" + }, + "highr": { + "Package": "highr", + "Version": "0.10", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "xfun" + ], + "Hash": "06230136b2d2b9ba5805e1963fa6e890" + }, + "htmltools": { + "Package": "htmltools", + "Version": "0.5.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "base64enc", + "digest", + "ellipsis", + "fastmap", + "grDevices", + "rlang", + "utils" + ], + "Hash": "ba0240784ad50a62165058a27459304a" + }, + "httr": { + "Package": "httr", + "Version": "1.4.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "curl", + "jsonlite", + "mime", + "openssl" + ], + "Hash": "f6844033201269bec3ca0097bc6c97b3" + }, + "jquerylib": { + "Package": "jquerylib", + "Version": "0.1.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "htmltools" + ], + "Hash": "5aab57a3bd297eee1c1d862735972182" + }, + "jsonlite": { + "Package": "jsonlite", + "Version": "1.8.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "methods" + ], + "Hash": "a4269a09a9b865579b2635c77e572374" + }, + "knitr": { + "Package": "knitr", + "Version": "1.42", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "evaluate", + "highr", + "methods", + "tools", + "xfun", + "yaml" + ], + "Hash": "8329a9bcc82943c8069104d4be3ee22d" + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "rlang" + ], + "Hash": "001cecbeac1cff9301bdc3775ee46a86" + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "7ce2733a9826b3aeb1775d56fd305472" + }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "cachem", + "rlang" + ], + "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" + }, + "mime": { + "Package": "mime", + "Version": "0.12", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "tools" + ], + "Hash": "18e9c28c1d3ca1560ce30658b22ce104" + }, + "openssl": { + "Package": "openssl", + "Version": "2.0.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "askpass" + ], + "Hash": "0f7cd2962e3044bb940cca4f4b5cecbe" + }, + "pillar": { + "Package": "pillar", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "cli", + "fansi", + "glue", + "lifecycle", + "rlang", + "utf8", + "utils", + "vctrs" + ], + "Hash": "15da5a8412f317beeee6175fbc76f4bb" + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "01f28d4278f15c76cddbea05899c5d6f" + }, + "pkgdown": { + "Package": "pkgdown", + "Version": "2.0.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "bslib", + "callr", + "cli", + "desc", + "digest", + "downlit", + "fs", + "httr", + "jsonlite", + "magrittr", + "memoise", + "purrr", + "ragg", + "rlang", + "rmarkdown", + "tibble", + "whisker", + "withr", + "xml2", + "yaml" + ], + "Hash": "16fa15449c930bf3a7761d3c68f8abf9" + }, + "pkgload": { + "Package": "pkgload", + "Version": "1.3.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "crayon", + "desc", + "fs", + "glue", + "methods", + "rlang", + "rprojroot", + "utils", + "withr" + ], + "Hash": "6b0c222c5071efe0f3baf3dae9aa40e2" + }, + "praise": { + "Package": "praise", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a555924add98c99d2f411e37e7d25e9f" + }, + "processx": { + "Package": "processx", + "Version": "3.8.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "ps", + "utils" + ], + "Hash": "a33ee2d9bf07564efb888ad98410da84" + }, + "ps": { + "Package": "ps", + "Version": "1.7.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "ebaacc87f539b1100e285e9e5d6496ad" + }, + "purrr": { + "Package": "purrr", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "lifecycle", + "magrittr", + "rlang", + "vctrs" + ], + "Hash": "d71c815267c640f17ddbf7f16144b4bb" + }, + "ragg": { + "Package": "ragg", + "Version": "1.2.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "systemfonts", + "textshaping" + ], + "Hash": "690bc058ea2b1b8a407d3cfe3dce3ef9" + }, + "rappdirs": { + "Package": "rappdirs", + "Version": "0.3.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "5e3c5dc0b071b21fa128676560dbe94d" + }, + "rematch2": { + "Package": "rematch2", + "Version": "2.1.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "tibble" + ], + "Hash": "76c9e04c712a05848ae7a23d2f170a40" + }, + "renv": { + "Package": "renv", + "Version": "0.17.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "aaf3c7f769695266a2113db67a25148b" + }, + "rlang": { + "Package": "rlang", + "Version": "1.1.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "dc079ccd156cde8647360f473c1fa718" + }, + "rmarkdown": { + "Package": "rmarkdown", + "Version": "2.21", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "bslib", + "evaluate", + "fontawesome", + "htmltools", + "jquerylib", + "jsonlite", + "knitr", + "methods", + "stringr", + "tinytex", + "tools", + "utils", + "xfun", + "yaml" + ], + "Hash": "493df4ae51e2e984952ea4d5c75786a3" + }, + "rprojroot": { + "Package": "rprojroot", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "1de7ab598047a87bba48434ba35d497d" + }, + "sass": { + "Package": "sass", + "Version": "0.4.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R6", + "fs", + "htmltools", + "rappdirs", + "rlang" + ], + "Hash": "2bb4371a4c80115518261866eab6ab11" + }, + "stringi": { + "Package": "stringi", + "Version": "1.7.12", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "stats", + "tools", + "utils" + ], + "Hash": "ca8bd84263c77310739d2cf64d84d7c9" + }, + "stringr": { + "Package": "stringr", + "Version": "1.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "magrittr", + "rlang", + "stringi", + "vctrs" + ], + "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8" + }, + "sys": { + "Package": "sys", + "Version": "3.4.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "34c16f1ef796057bfa06d3f4ff818a5d" + }, + "systemfonts": { + "Package": "systemfonts", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cpp11" + ], + "Hash": "90b28393209827327de889f49935140a" + }, + "testthat": { + "Package": "testthat", + "Version": "3.1.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "brio", + "callr", + "cli", + "desc", + "digest", + "ellipsis", + "evaluate", + "jsonlite", + "lifecycle", + "magrittr", + "methods", + "pkgload", + "praise", + "processx", + "ps", + "rlang", + "utils", + "waldo", + "withr" + ], + "Hash": "7eb5fd202a61d2fb78af5869b6c08998" + }, + "textshaping": { + "Package": "textshaping", + "Version": "0.3.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cpp11", + "systemfonts" + ], + "Hash": "1ab6223d3670fac7143202cb6a2d43d5" + }, + "tibble": { + "Package": "tibble", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "fansi", + "lifecycle", + "magrittr", + "methods", + "pillar", + "pkgconfig", + "rlang", + "utils", + "vctrs" + ], + "Hash": "a84e2cc86d07289b3b6f5069df7a004c" + }, + "tinytex": { + "Package": "tinytex", + "Version": "0.44", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "xfun" + ], + "Hash": "c0f007e2eeed7722ce13d42b84a22e07" + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "1fe17157424bb09c48a8b3b550c753bc" + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.6.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "rlang" + ], + "Hash": "06eceb3a5d716fd0654cc23ca3d71a99" + }, + "waldo": { + "Package": "waldo", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "cli", + "diffobj", + "fansi", + "glue", + "methods", + "rematch2", + "rlang", + "tibble" + ], + "Hash": "035fba89d0c86e2113120f93301b98ad" + }, + "whisker": { + "Package": "whisker", + "Version": "0.4.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c6abfa47a46d281a7d5159d0a8891e88" + }, + "withr": { + "Package": "withr", + "Version": "2.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "grDevices", + "graphics", + "stats" + ], + "Hash": "c0e49a9760983e81e55cdd9be92e7182" + }, + "xfun": { + "Package": "xfun", + "Version": "0.38", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "stats", + "tools" + ], + "Hash": "1ed71215d45e85562d3b1b29a068ccec" + }, + "xml2": { + "Package": "xml2", + "Version": "1.3.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "40682ed6a969ea5abfd351eb67833adc" + }, + "yaml": { + "Package": "yaml", + "Version": "2.3.7", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0d0056cc5383fbc240ccd0cb584bf436" + } + } +} From 0ecc7ec077a1eb1d3084e9355251430703da2d07 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Mon, 27 Mar 2023 12:32:58 -0400 Subject: [PATCH 03/11] finished tutorial --- DESCRIPTION | 4 +- NEWS.md | 3 + R/data.R | 2 +- R/distance.R | 6 +- _pkgdown.yml | 4 + data-raw/example_data.R | 1 + data/example_data.rda | Bin 0 -> 2016 bytes man/euclideanDist.Rd | 3 +- man/example_data.Rd | 20 +++++ renv.lock | 136 +++++++++++++++++++++++++++++++++ tests/testthat.R | 8 ++ tests/testthat/test-distance.R | 14 ++++ vignettes/DevelExample.Rmd | 12 +++ 13 files changed, 207 insertions(+), 6 deletions(-) create mode 100644 data/example_data.rda create mode 100644 man/example_data.Rd create mode 100644 tests/testthat/test-distance.R diff --git a/DESCRIPTION b/DESCRIPTION index 44e2b55..5884c4a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: DevelExample Title: A Basic R Package to Demonstrate a Cycle of Code Development -Version: 0.0.1 +Version: 0.1.0 Authors@R: person(given = "Joshua", family = "Campbell", @@ -22,3 +22,5 @@ Suggests: testthat (>= 3.0.0) Config/testthat/edition: 3 VignetteBuilder: knitr +Depends: + R (>= 2.10) diff --git a/NEWS.md b/NEWS.md index 4cd8ae2..86504fb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,6 @@ +# Changes in Version 0.1.0 (2022-05-20) +* Added function to calculate euclidean distance + # Changes in Version 0.0.1 (2022-05-08) * Created package * Added Hello World function diff --git a/R/data.R b/R/data.R index 15bcc79..be00067 100644 --- a/R/data.R +++ b/R/data.R @@ -8,4 +8,4 @@ #' @usage data("example_data") #' @examples #' data("example_data") -"example_data" +"example_data" \ No newline at end of file diff --git a/R/distance.R b/R/distance.R index b55d3e4..e7f644f 100644 --- a/R/distance.R +++ b/R/distance.R @@ -1,11 +1,11 @@ #' @title Euclidean distance -#' @description Calculates Euclidean distance between two vectors. An error will be +#' @description Calculates Euclidean distance between two vectors. An error will be #' given if NAs are present in either vector. #' #' @param a The first vector to use in the distance calculation. #' @param b The second vector to use in the distance calculation. #' @param verbose Boolean. If \code{TRUE}, a message will be printed. Default \code{TRUE}. -#' @return A numeric value of a distance#' +#' @return A numeric value of a distance #' @examples #' data(example_data) #' euclideanDist(example_data[,1], example_data[,2], verbose = FALSE) @@ -20,7 +20,7 @@ euclideanDist <- function(a, b, verbose = FALSE) { .check_data(b) # Perform calculation - res <- sqrt(sum((a-b)^2)) + res <- sqrt(sum((a - b) ^ 2)) return(res) } diff --git a/_pkgdown.yml b/_pkgdown.yml index e69de29..d71acfb 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -0,0 +1,4 @@ +url: ~ +template: + bootstrap: 5 + diff --git a/data-raw/example_data.R b/data-raw/example_data.R index 9adb098..beb2a6e 100644 --- a/data-raw/example_data.R +++ b/data-raw/example_data.R @@ -1,4 +1,5 @@ ## code to prepare `example_data` dataset goes here + set.seed(123) a <- rnorm(100) b <- rnorm(100) diff --git a/data/example_data.rda b/data/example_data.rda new file mode 100644 index 0000000000000000000000000000000000000000..ea06561304ce415574823364cc75a5d01bfc2516 GIT binary patch literal 2016 zcmV<62Os!CT4*^jL0KkKSsHj7&;S84fB*mg|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|NqbgeqQE#vvn+z-T+DIJery6X*{FTQ`Bh2q3Sk`O&dfHOru7F)YCzslT8EE zdWM;#@*~Q6nq)mqG|{yhG-5OlQ_>oGo~Nj2JsJoeK%SuVfu{9OQ}s_I^p8wU69^td zP?It=2*3cCGBpMx&;n=~GB%S4+L=6)Bhw%zm;^M_Lr1BJnoXl1O+5jrrccz2nr#Ho z^vWAR8X8QR9+NaQ8jL5R2AU3y0(zgNH1?$RG{&ctdLTAa)CM8y9*K}?pwYA#rk;>D zsyz=#jGI%%Jx^28WMVRC^)&rcOw`(ksgov;Q1u!;N260sG8$+!^g}~UG6Tf{wKGuk zA^Np8fXTZXlODrJrK|VriM&_27!n)Jw|{U42Ed{XfzEn z6pDi@PC=n+6%d7~%`B`6C%>PnEaR906Z0LWaBS{ zZX#jE8fV|qBkiO^x)&DIWeO*C?o*EJ=+n}j@h#9e==TL%=yRu!IZYNUt=B#q)(3eU zsLW=eUM(9n|08*2hX8=O8MAOoHKcH> zIyb?9=mCh6G98NAKDp4xIdmn)$%Ec)%A&(#_1QJXwlUe5wQ8 zDH{U5hjQkR`eD*nTUk6sMi8k5PuIwN!M^>>v5>wLjfXLx*RFp}!A+F&N(87?=io3b zN!VREj@#re7iCYIB%%v?Lcm-wX~NZNX@MPFko@_ZAmhY(@xBXCQ3=Z^_c2b~A(2i_ z2!R_5DI7EO`N^!2o5o}oVqBZq=*`sg$^|d-a2B<`mF~JRlVa7|z}6E3rx{~g#YXO+ z0d1s&jUC`q4<;4E7@~<4{?o_`dB<~!PIMc+j|VqoD*6I-g(FDrwAO?mPowcYQ<;?- zh+(t}F|+rJ#F}OrA8Jzn2POXLFBWV8;7P8K-+QRw*M%9yT7^w=bIlcRHrev5QvDe^ zCnE*BJ9$>3Y1culD~qBT8wZZoqecsGy`=!CZ*=xuo%35GS#dLybudwS3k6v@ac0EI z=x=|N7VowsyP+>6Y@J?f>^|q+DNqU`PYs@(Bga2%Nl5( z+S>C^U~q&1Oc*#tblc|D&nSrHLIKMP)rcVk8qT?$_)-d-e)OCfNx`*%4%!}NcS0P< zkbOnS*l3BIKr*!KDn%*<#X>dr+?2Gxlq=p%>%9ft5?U(ZoD7Ff<1^tgsjBulK^q7p z_0s44uIphOfPjzpGN_$uiA$vFiQ?2r;80586+0>_zMMCELWy?w7Js@CKuOD_ubLQ| ztK~hQg&`TwR(tsNy7~1j?GQN2IZ}j^iTsY@+=vhg^iBz<bJ6vRYq~8@ittAUvtPK)p6{9_E9lqj~A0B6O7 zyAwM$Dnoec4LOS50EuMma@TiH-LMe`E9h_s>^ z=VIA&)d}HQu2aRJnM?Ab<0VZGzc@R=){_b$pm Date: Mon, 27 Mar 2023 13:37:12 -0400 Subject: [PATCH 04/11] Update R-CMD-check.yaml updated to v2 --- .github/workflows/R-CMD-check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index d9de82f..836d04e 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -45,7 +45,7 @@ jobs: - uses: r-lib/actions/setup-pandoc@v1 - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} From 114acdd2fe6ad873b3239034d0ad0c558b01d307 Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Mon, 27 Mar 2023 13:38:15 -0400 Subject: [PATCH 05/11] Update lint.yaml updated to rv2 --- .github/workflows/lint.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 6388f75..9d66461 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -16,11 +16,11 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: extra-packages: lintr From 6cbbee4ebf26cb0b5a959fecd2a8be8d1e2285fc Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 08:48:33 -0400 Subject: [PATCH 06/11] Update R-CMD-check.yaml --- .github/workflows/R-CMD-check.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 836d04e..be5b617 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -51,11 +51,11 @@ jobs: http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: rcmdcheck + extra-packages: rcmdcheck, knitr - - uses: r-lib/actions/check-r-package@v1 + - uses: r-lib/actions/check-r-package@v2 - name: Show testthat output if: always() From b170dea20e2edfd50442f179edd91439281ff6eb Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:12:54 -0400 Subject: [PATCH 07/11] Update R-CMD-check.yaml --- .github/workflows/R-CMD-check.yaml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index be5b617..4a4036a 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -29,12 +29,10 @@ jobs: - {os: windows-latest, r: '3.6'} # Use older ubuntu to maximise backward compatibility - - {os: ubuntu-18.04, r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-18.04, r: 'release'} - - {os: ubuntu-18.04, r: 'oldrel-1'} - - {os: ubuntu-18.04, r: 'oldrel-2'} - - {os: ubuntu-18.04, r: 'oldrel-3'} - - {os: ubuntu-18.04, r: 'oldrel-4'} + - {os: ubuntu-20.04, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-20.04, r: 'release'} + - {os: ubuntu-20.04, r: 'oldrel-1'} + - {os: ubuntu-20.04, r: 'oldrel-2'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} @@ -43,7 +41,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 with: From 7a1aac286a91660ce09e66f0b18b793a3843e827 Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:27:32 -0400 Subject: [PATCH 08/11] Update BioC-check.yaml updated depreciated versions --- .github/workflows/BioC-check.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/BioC-check.yaml b/.github/workflows/BioC-check.yaml index cd13eff..659030e 100644 --- a/.github/workflows/BioC-check.yaml +++ b/.github/workflows/BioC-check.yaml @@ -25,17 +25,17 @@ jobs: R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: extra-packages: rcmdcheck, BiocManager From 515dffc10242f41bad2c11ada51bf15d662ecd73 Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:28:52 -0400 Subject: [PATCH 09/11] Update lint.yaml --- .github/workflows/lint.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 9d66461..efad6b6 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -14,7 +14,7 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: r-lib/actions/setup-r@v2 with: @@ -25,5 +25,5 @@ jobs: extra-packages: lintr - name: Lint - run: lintr::lint_package() + run: lintr::lint_package(path = ".") shell: Rscript {0} From 624b533ef026f5eb0e0bb9bcefac5157b4ab28f9 Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:33:52 -0400 Subject: [PATCH 10/11] Update R-CMD-check.yaml updated to checkout v3 --- .github/workflows/R-CMD-check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 4a4036a..ea8af59 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -39,7 +39,7 @@ jobs: R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: r-lib/actions/setup-pandoc@v2 From ef92a125c3602cd30f4fb6584fb85bba403aa6ea Mon Sep 17 00:00:00 2001 From: mingl1997 <129070787+mingl1997@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:50:58 -0400 Subject: [PATCH 11/11] Update lint.yaml --- .github/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index efad6b6..530929c 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -25,5 +25,5 @@ jobs: extra-packages: lintr - name: Lint - run: lintr::lint_package(path = ".") + run: lintr::lint_package(linters = lintr::linters_with_defaults(object_name_linter = lintr::object_name_linter("camelCase"))) shell: Rscript {0}