Nothing
#' @title Utility function requirements
#' @section Last updated by:
#' Nicholas Masel
#' @section Last update date:
#' 13-JAN-2020
#' @section Category:
#' Helper
library(dplyr)
# Requirements replace_na_with_blank ---------------------------------------------------------------
#' T1. Returns vector with ...
#' T1.1 no changes if no NA.
#' T1.2 blanks in place of NA for character.
#' T1.3 blanks in place of NA for factor.
#' T1.4 blank added as a factor level for factor.
# context("replace_na_with_blank - T1. Returns vector with ...")
test_that("T1.1 no changes if no NA.", {
v <- paste(rep("test"), 1:3)
expect_equal(replace_na_with_blank(v),
c("test 1", "test 2", "test 3"))
})
test_that("T1.2 blanks in place of NA for character.", {
v <- c(NA, "test 1", "test 2", "test 3")
expect_equal(replace_na_with_blank(v),
c("", "test 1", "test 2", "test 3"))
})
test_that("T1.3 blanks in place of NA for factor.", {
v <- factor(c(NA, "test 1", "test 2", "test 3"),
levels =c("test 1", "test 2", "test 3"))
expect_equal(as.character(replace_na_with_blank(v)),
c("", "test 1", "test 2", "test 3"))
})
test_that("T1.4 NA added as a factor level for factor.", {
v <- factor(c(NA, "test 1", "test 2", "test 3"),
levels =c("test 1", "test 2", "test 3"))
expect_equal(levels(replace_na_with_blank(v)),
c("", "test 1", "test 2", "test 3"))
})
# Requirements char2factor ---------------------------------------------------------------
#' T1. Returns factor with ...
#' T1.1 label preserved.
#' T1.2 levels based off the numeric variable.
# context("char2factor - T1. Returns factor with ...")
df_char2factor <- tibble::tribble(
~TRT01P, ~TRT01PN,
"Placebo", 1,
"Low Dose", 2,
"High Dose", 3
)
attr(df_char2factor$TRT01P, "label") <- "Planned Treatment"
test_that("T1.1 label preserved.", {
expect_equal(attr(char2factor(df_char2factor, "TRT01P", "TRT01PN"), "label"),
"Planned Treatment")
})
test_that("T1.2 levels based off the numeric variable.", {
expect_equal(levels(char2factor(df_char2factor, "TRT01P", "TRT01PN")),
c("Placebo", "Low Dose", "High Dose"))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.