From 84cb3f3fdbf839a26fd3d16e0ecba36c2ef1dafa Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:03:07 -0500 Subject: [PATCH 1/9] Ignore .Rproj file --- .Rbuildignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.Rbuildignore b/.Rbuildignore index c213e49..56b614f 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -29,3 +29,4 @@ logo_script.R check funs.R inst/figure Thumbs.db +^wakefield\.Rproj$ From e347ff92d06729e4986def884f90299b23dbd79e Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:03:36 -0500 Subject: [PATCH 2/9] Update roxygen2 --- DESCRIPTION | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 296e085..15a905d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,7 +19,6 @@ License: GPL-2 LazyData: TRUE URL: https://github.com/trinker/wakefield BugReports: https://github.com/trinker/wakefield/issues -Roxygen: list(wrap = FALSE) Collate: 'utils.R' 'r_sample.R' 'age.R' 'r_sample_factor.R' 'animal.R' 'r_sample_binary.R' 'answer.R' 'area.R' 'as_integer.R' 'car.R' 'children.R' 'coin.R' 'color.R' 'date_stamp.R' @@ -37,4 +36,4 @@ Collate: 'utils.R' 'r_sample.R' 'age.R' 'r_sample_factor.R' 'animal.R' 'sex_inclusive.R' 'smokes.R' 'speed.R' 'state.R' 'string.R' 'table_heat.R' 'time_stamp.R' 'upper.R' 'valid.R' 'variables.R' 'varname.R' 'year.R' 'zip_code.R' -RoxygenNote: 7.1.1 +RoxygenNote: 7.2.1 From 0fa8f7fa71c3f774fc431c683c56177b08a77fa0 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:04:03 -0500 Subject: [PATCH 3/9] use_tidy_description() --- DESCRIPTION | 130 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 100 insertions(+), 30 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 15a905d..bb7343c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,38 +2,108 @@ Package: wakefield Title: Generate Random Data Sets Version: 0.3.7 Authors@R: c( - person("Tyler", "Rinker", email = "tyler.rinker@gmail.com", role = c("aut", "cre")), - person("Josh", "O'Brien", role = "ctb"), - person("Ananda", "Mahto", role = "ctb"), - person("Matthew", "Sigal", role = "ctb"), - person("Jonathan", "Carroll", role = "ctb"), - person("Scott", "Westenberger", role = "ctb") - ) + person("Tyler", "Rinker", , "tyler.rinker@gmail.com", role = c("aut", "cre")), + person("Josh", "O'Brien", role = "ctb"), + person("Ananda", "Mahto", role = "ctb"), + person("Matthew", "Sigal", role = "ctb"), + person("Jonathan", "Carroll", role = "ctb"), + person("Scott", "Westenberger", role = "ctb") + ) Maintainer: Tyler Rinker -Description: Generates random data sets including: data.frames, lists, - and vectors. -Depends: R (>= 3.2.0) -Imports: chron, ggplot2, dplyr, stringi -Suggests: testthat +Description: Generates random data sets including: data.frames, lists, and + vectors. License: GPL-2 -LazyData: TRUE URL: https://github.com/trinker/wakefield BugReports: https://github.com/trinker/wakefield/issues -Collate: 'utils.R' 'r_sample.R' 'age.R' 'r_sample_factor.R' 'animal.R' - 'r_sample_binary.R' 'answer.R' 'area.R' 'as_integer.R' 'car.R' - 'children.R' 'coin.R' 'color.R' 'date_stamp.R' - 'r_sample_logical.R' 'death.R' 'dice.R' 'dna.R' 'dob.R' - 'dummy.R' 'education.R' 'employment.R' 'eye.R' 'grade.R' - 'grade_level.R' 'group.R' 'hair.R' 'normal.R' 'height.R' - 'hour.R' 'id.R' 'income.R' 'internet_browser.R' 'interval.R' - 'iq.R' 'language.R' 'level.R' 'r_sample_ordered.R' 'likert.R' - 'lorem_ipsum.R' 'marital.R' 'military.R' 'minute.R' 'month.R' - 'r_sample_replace.R' 'wakefield-package.R' 'name.R' 'peek.R' - 'political.R' 'probs.R' 'r_data.R' 'r_data_frame.R' 'r_dummy.R' - 'seriesname.R' 'r_insert.R' 'r_list.R' 'r_na.R' - 'r_sample_integer.R' 'r_series.R' 'race.R' 'relate.R' - 'religion.R' 'sat.R' 'second.R' 'sentence.R' 'sex.R' - 'sex_inclusive.R' 'smokes.R' 'speed.R' 'state.R' 'string.R' - 'table_heat.R' 'time_stamp.R' 'upper.R' 'valid.R' 'variables.R' - 'varname.R' 'year.R' 'zip_code.R' +Depends: + R (>= 3.2.0) +Imports: + chron, + dplyr, + ggplot2, + stringi +Suggests: + testthat +Encoding: UTF-8 +LazyData: TRUE RoxygenNote: 7.2.1 +Collate: + 'utils.R' + 'r_sample.R' + 'age.R' + 'r_sample_factor.R' + 'animal.R' + 'r_sample_binary.R' + 'answer.R' + 'area.R' + 'as_integer.R' + 'car.R' + 'children.R' + 'coin.R' + 'color.R' + 'date_stamp.R' + 'r_sample_logical.R' + 'death.R' + 'dice.R' + 'dna.R' + 'dob.R' + 'dummy.R' + 'education.R' + 'employment.R' + 'eye.R' + 'grade.R' + 'grade_level.R' + 'group.R' + 'hair.R' + 'normal.R' + 'height.R' + 'hour.R' + 'id.R' + 'income.R' + 'internet_browser.R' + 'interval.R' + 'iq.R' + 'language.R' + 'level.R' + 'r_sample_ordered.R' + 'likert.R' + 'lorem_ipsum.R' + 'marital.R' + 'military.R' + 'minute.R' + 'month.R' + 'r_sample_replace.R' + 'wakefield-package.R' + 'name.R' + 'peek.R' + 'political.R' + 'probs.R' + 'r_data.R' + 'r_data_frame.R' + 'r_dummy.R' + 'seriesname.R' + 'r_insert.R' + 'r_list.R' + 'r_na.R' + 'r_sample_integer.R' + 'r_series.R' + 'race.R' + 'relate.R' + 'religion.R' + 'sat.R' + 'second.R' + 'sentence.R' + 'sex.R' + 'sex_inclusive.R' + 'smokes.R' + 'speed.R' + 'state.R' + 'string.R' + 'table_heat.R' + 'time_stamp.R' + 'upper.R' + 'valid.R' + 'variables.R' + 'varname.R' + 'year.R' + 'zip_code.R' From 620f52dc1e34a53203213c0d37512d9577f69759 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:08:32 -0500 Subject: [PATCH 4/9] Remove empty tests And add one test so testhat doesn't fail --- tests/testthat/test-age.R | 7 ------- tests/testthat/test-animal.R | 7 ------- tests/testthat/test-answer.R | 7 ------- tests/testthat/test-area.R | 7 ------- tests/testthat/test-as_integer.R | 7 ------- tests/testthat/test-browser.R | 7 ------- tests/testthat/test-car.R | 7 ------- tests/testthat/test-children.R | 7 ------- tests/testthat/test-coin.R | 7 ------- tests/testthat/test-color.R | 7 ------- tests/testthat/test-data_stamp.R | 7 ------- tests/testthat/test-death.R | 7 ------- tests/testthat/test-dice.R | 7 ------- tests/testthat/test-dna.R | 7 ------- tests/testthat/test-dob.R | 7 ------- tests/testthat/test-dummy.R | 7 ------- tests/testthat/test-education.R | 7 ------- tests/testthat/test-employment.R | 7 ------- tests/testthat/test-eye.R | 7 ------- tests/testthat/test-grade.R | 7 ------- tests/testthat/test-grade_level.R | 7 ------- tests/testthat/test-group.R | 7 ------- tests/testthat/test-hair.R | 7 ------- tests/testthat/test-height.R | 7 ------- tests/testthat/test-hour.R | 7 ------- tests/testthat/test-id.R | 7 ------- tests/testthat/test-income.R | 7 ------- tests/testthat/test-interval.R | 7 ------- tests/testthat/test-iq.R | 7 ------- tests/testthat/test-language.R | 7 ------- tests/testthat/test-level.R | 7 ------- tests/testthat/test-likert.R | 7 ------- tests/testthat/test-lorem_ipsum.R | 7 ------- tests/testthat/test-marital.R | 7 ------- tests/testthat/test-military.R | 7 ------- tests/testthat/test-minute.R | 7 ------- tests/testthat/test-month.R | 7 ------- tests/testthat/test-name.R | 7 ------- tests/testthat/test-normal.R | 7 ------- tests/testthat/test-peek.R | 7 ------- tests/testthat/test-political.R | 7 ------- tests/testthat/test-probs.R | 7 ------- tests/testthat/test-r_data.R | 7 ------- tests/testthat/test-r_data_frame.R | 7 ------- tests/testthat/test-r_dummy.R | 7 ------- tests/testthat/test-r_insert.R | 7 ------- tests/testthat/test-r_list.R | 8 ++------ tests/testthat/test-r_na.R | 7 ------- tests/testthat/test-r_sample.R | 7 ------- tests/testthat/test-r_sample_binary.R | 7 ------- tests/testthat/test-r_sample_factor.R | 7 ------- tests/testthat/test-r_sample_integer.R | 7 ------- tests/testthat/test-r_sample_logical.R | 7 ------- tests/testthat/test-r_sample_ordered.R | 7 ------- tests/testthat/test-r_sample_replace.R | 7 ------- tests/testthat/test-r_series.R | 7 ------- tests/testthat/test-race.R | 7 ------- tests/testthat/test-relate.R | 7 ------- tests/testthat/test-religion.R | 7 ------- tests/testthat/test-sat.R | 7 ------- tests/testthat/test-second.R | 7 ------- tests/testthat/test-sentence.R | 7 ------- tests/testthat/test-seriesname.R | 7 ------- tests/testthat/test-sex.R | 7 ------- tests/testthat/test-sex_inclusive.R | 7 ------- tests/testthat/test-smokes.R | 7 ------- tests/testthat/test-speed.R | 7 ------- tests/testthat/test-state.R | 7 ------- tests/testthat/test-string.R | 7 ------- tests/testthat/test-table_heat.R | 7 ------- tests/testthat/test-time_stamp.R | 7 ------- tests/testthat/test-upper.R | 7 ------- tests/testthat/test-valid.R | 7 ------- tests/testthat/test-variables.R | 7 ------- tests/testthat/test-varname.R | 7 ------- tests/testthat/test-year.R | 7 ------- tests/testthat/test-zip_code.R | 7 ------- 77 files changed, 2 insertions(+), 538 deletions(-) delete mode 100644 tests/testthat/test-age.R delete mode 100644 tests/testthat/test-animal.R delete mode 100644 tests/testthat/test-answer.R delete mode 100644 tests/testthat/test-area.R delete mode 100644 tests/testthat/test-as_integer.R delete mode 100644 tests/testthat/test-browser.R delete mode 100644 tests/testthat/test-car.R delete mode 100644 tests/testthat/test-children.R delete mode 100644 tests/testthat/test-coin.R delete mode 100644 tests/testthat/test-color.R delete mode 100644 tests/testthat/test-data_stamp.R delete mode 100644 tests/testthat/test-death.R delete mode 100644 tests/testthat/test-dice.R delete mode 100644 tests/testthat/test-dna.R delete mode 100644 tests/testthat/test-dob.R delete mode 100644 tests/testthat/test-dummy.R delete mode 100644 tests/testthat/test-education.R delete mode 100644 tests/testthat/test-employment.R delete mode 100644 tests/testthat/test-eye.R delete mode 100644 tests/testthat/test-grade.R delete mode 100644 tests/testthat/test-grade_level.R delete mode 100644 tests/testthat/test-group.R delete mode 100644 tests/testthat/test-hair.R delete mode 100644 tests/testthat/test-height.R delete mode 100644 tests/testthat/test-hour.R delete mode 100644 tests/testthat/test-id.R delete mode 100644 tests/testthat/test-income.R delete mode 100644 tests/testthat/test-interval.R delete mode 100644 tests/testthat/test-iq.R delete mode 100644 tests/testthat/test-language.R delete mode 100644 tests/testthat/test-level.R delete mode 100644 tests/testthat/test-likert.R delete mode 100644 tests/testthat/test-lorem_ipsum.R delete mode 100644 tests/testthat/test-marital.R delete mode 100644 tests/testthat/test-military.R delete mode 100644 tests/testthat/test-minute.R delete mode 100644 tests/testthat/test-month.R delete mode 100644 tests/testthat/test-name.R delete mode 100644 tests/testthat/test-normal.R delete mode 100644 tests/testthat/test-peek.R delete mode 100644 tests/testthat/test-political.R delete mode 100644 tests/testthat/test-probs.R delete mode 100644 tests/testthat/test-r_data.R delete mode 100644 tests/testthat/test-r_data_frame.R delete mode 100644 tests/testthat/test-r_dummy.R delete mode 100644 tests/testthat/test-r_insert.R delete mode 100644 tests/testthat/test-r_na.R delete mode 100644 tests/testthat/test-r_sample.R delete mode 100644 tests/testthat/test-r_sample_binary.R delete mode 100644 tests/testthat/test-r_sample_factor.R delete mode 100644 tests/testthat/test-r_sample_integer.R delete mode 100644 tests/testthat/test-r_sample_logical.R delete mode 100644 tests/testthat/test-r_sample_ordered.R delete mode 100644 tests/testthat/test-r_sample_replace.R delete mode 100644 tests/testthat/test-r_series.R delete mode 100644 tests/testthat/test-race.R delete mode 100644 tests/testthat/test-relate.R delete mode 100644 tests/testthat/test-religion.R delete mode 100644 tests/testthat/test-sat.R delete mode 100644 tests/testthat/test-second.R delete mode 100644 tests/testthat/test-sentence.R delete mode 100644 tests/testthat/test-seriesname.R delete mode 100644 tests/testthat/test-sex.R delete mode 100644 tests/testthat/test-sex_inclusive.R delete mode 100644 tests/testthat/test-smokes.R delete mode 100644 tests/testthat/test-speed.R delete mode 100644 tests/testthat/test-state.R delete mode 100644 tests/testthat/test-string.R delete mode 100644 tests/testthat/test-table_heat.R delete mode 100644 tests/testthat/test-time_stamp.R delete mode 100644 tests/testthat/test-upper.R delete mode 100644 tests/testthat/test-valid.R delete mode 100644 tests/testthat/test-variables.R delete mode 100644 tests/testthat/test-varname.R delete mode 100644 tests/testthat/test-year.R delete mode 100644 tests/testthat/test-zip_code.R diff --git a/tests/testthat/test-age.R b/tests/testthat/test-age.R deleted file mode 100644 index b6f44ad..0000000 --- a/tests/testthat/test-age.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking age") - -test_that("age ...",{ - - -}) - diff --git a/tests/testthat/test-animal.R b/tests/testthat/test-animal.R deleted file mode 100644 index 2d96f40..0000000 --- a/tests/testthat/test-animal.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking animal") - -test_that("animal ...",{ - - -}) - diff --git a/tests/testthat/test-answer.R b/tests/testthat/test-answer.R deleted file mode 100644 index 3536898..0000000 --- a/tests/testthat/test-answer.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking answer") - -test_that("answer ...",{ - - -}) - diff --git a/tests/testthat/test-area.R b/tests/testthat/test-area.R deleted file mode 100644 index 6146ab1..0000000 --- a/tests/testthat/test-area.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking area") - -test_that("area ...",{ - - -}) - diff --git a/tests/testthat/test-as_integer.R b/tests/testthat/test-as_integer.R deleted file mode 100644 index 8e04a06..0000000 --- a/tests/testthat/test-as_integer.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking as_integer") - -test_that("as_integer ...",{ - - -}) - diff --git a/tests/testthat/test-browser.R b/tests/testthat/test-browser.R deleted file mode 100644 index f96664c..0000000 --- a/tests/testthat/test-browser.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking browser") - -test_that("browser ...",{ - - -}) - diff --git a/tests/testthat/test-car.R b/tests/testthat/test-car.R deleted file mode 100644 index cf0e7cc..0000000 --- a/tests/testthat/test-car.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking car") - -test_that("car ...",{ - - -}) - diff --git a/tests/testthat/test-children.R b/tests/testthat/test-children.R deleted file mode 100644 index 8a8ac97..0000000 --- a/tests/testthat/test-children.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking children") - -test_that("children ...",{ - - -}) - diff --git a/tests/testthat/test-coin.R b/tests/testthat/test-coin.R deleted file mode 100644 index 3ca7e87..0000000 --- a/tests/testthat/test-coin.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking coin") - -test_that("coin ...",{ - - -}) - diff --git a/tests/testthat/test-color.R b/tests/testthat/test-color.R deleted file mode 100644 index a9d9798..0000000 --- a/tests/testthat/test-color.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking color") - -test_that("color ...",{ - - -}) - diff --git a/tests/testthat/test-data_stamp.R b/tests/testthat/test-data_stamp.R deleted file mode 100644 index cee185d..0000000 --- a/tests/testthat/test-data_stamp.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking data_stamp") - -test_that("data_stamp ...",{ - - -}) - diff --git a/tests/testthat/test-death.R b/tests/testthat/test-death.R deleted file mode 100644 index 6e7c667..0000000 --- a/tests/testthat/test-death.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking death") - -test_that("death ...",{ - - -}) - diff --git a/tests/testthat/test-dice.R b/tests/testthat/test-dice.R deleted file mode 100644 index 5652ff7..0000000 --- a/tests/testthat/test-dice.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking dice") - -test_that("dice ...",{ - - -}) - diff --git a/tests/testthat/test-dna.R b/tests/testthat/test-dna.R deleted file mode 100644 index 3ce04d8..0000000 --- a/tests/testthat/test-dna.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking dna") - -test_that("dna ...",{ - - -}) - diff --git a/tests/testthat/test-dob.R b/tests/testthat/test-dob.R deleted file mode 100644 index fad696f..0000000 --- a/tests/testthat/test-dob.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking dob") - -test_that("dob ...",{ - - -}) - diff --git a/tests/testthat/test-dummy.R b/tests/testthat/test-dummy.R deleted file mode 100644 index 753c663..0000000 --- a/tests/testthat/test-dummy.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking dummy") - -test_that("dummy ...",{ - - -}) - diff --git a/tests/testthat/test-education.R b/tests/testthat/test-education.R deleted file mode 100644 index 4042c90..0000000 --- a/tests/testthat/test-education.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking education") - -test_that("education ...",{ - - -}) - diff --git a/tests/testthat/test-employment.R b/tests/testthat/test-employment.R deleted file mode 100644 index 87b6695..0000000 --- a/tests/testthat/test-employment.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking employment") - -test_that("employment ...",{ - - -}) - diff --git a/tests/testthat/test-eye.R b/tests/testthat/test-eye.R deleted file mode 100644 index 854429d..0000000 --- a/tests/testthat/test-eye.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking eye") - -test_that("eye ...",{ - - -}) - diff --git a/tests/testthat/test-grade.R b/tests/testthat/test-grade.R deleted file mode 100644 index 9516527..0000000 --- a/tests/testthat/test-grade.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking grade") - -test_that("grade ...",{ - - -}) - diff --git a/tests/testthat/test-grade_level.R b/tests/testthat/test-grade_level.R deleted file mode 100644 index a99faff..0000000 --- a/tests/testthat/test-grade_level.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking grade_level") - -test_that("grade_level ...",{ - - -}) - diff --git a/tests/testthat/test-group.R b/tests/testthat/test-group.R deleted file mode 100644 index a5911db..0000000 --- a/tests/testthat/test-group.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking group") - -test_that("group ...",{ - - -}) - diff --git a/tests/testthat/test-hair.R b/tests/testthat/test-hair.R deleted file mode 100644 index 61c4eb2..0000000 --- a/tests/testthat/test-hair.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking hair") - -test_that("hair ...",{ - - -}) - diff --git a/tests/testthat/test-height.R b/tests/testthat/test-height.R deleted file mode 100644 index 7750a37..0000000 --- a/tests/testthat/test-height.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking height") - -test_that("height ...",{ - - -}) - diff --git a/tests/testthat/test-hour.R b/tests/testthat/test-hour.R deleted file mode 100644 index 469e5e2..0000000 --- a/tests/testthat/test-hour.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking hour") - -test_that("hour ...",{ - - -}) - diff --git a/tests/testthat/test-id.R b/tests/testthat/test-id.R deleted file mode 100644 index 5d4c637..0000000 --- a/tests/testthat/test-id.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking id") - -test_that("id ...",{ - - -}) - diff --git a/tests/testthat/test-income.R b/tests/testthat/test-income.R deleted file mode 100644 index e269e66..0000000 --- a/tests/testthat/test-income.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking income") - -test_that("income ...",{ - - -}) - diff --git a/tests/testthat/test-interval.R b/tests/testthat/test-interval.R deleted file mode 100644 index 478fb06..0000000 --- a/tests/testthat/test-interval.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking interval") - -test_that("interval ...",{ - - -}) - diff --git a/tests/testthat/test-iq.R b/tests/testthat/test-iq.R deleted file mode 100644 index 8e0a981..0000000 --- a/tests/testthat/test-iq.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking iq") - -test_that("iq ...",{ - - -}) - diff --git a/tests/testthat/test-language.R b/tests/testthat/test-language.R deleted file mode 100644 index 186e9a3..0000000 --- a/tests/testthat/test-language.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking language") - -test_that("language ...",{ - - -}) - diff --git a/tests/testthat/test-level.R b/tests/testthat/test-level.R deleted file mode 100644 index 0dffc8c..0000000 --- a/tests/testthat/test-level.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking level") - -test_that("level ...",{ - - -}) - diff --git a/tests/testthat/test-likert.R b/tests/testthat/test-likert.R deleted file mode 100644 index 759318b..0000000 --- a/tests/testthat/test-likert.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking likert") - -test_that("likert ...",{ - - -}) - diff --git a/tests/testthat/test-lorem_ipsum.R b/tests/testthat/test-lorem_ipsum.R deleted file mode 100644 index 54b07c3..0000000 --- a/tests/testthat/test-lorem_ipsum.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking lorem_ipsum") - -test_that("lorem_ipsum ...",{ - - -}) - diff --git a/tests/testthat/test-marital.R b/tests/testthat/test-marital.R deleted file mode 100644 index d5ac2c1..0000000 --- a/tests/testthat/test-marital.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking marital") - -test_that("marital ...",{ - - -}) - diff --git a/tests/testthat/test-military.R b/tests/testthat/test-military.R deleted file mode 100644 index 3e0e840..0000000 --- a/tests/testthat/test-military.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking military") - -test_that("military ...",{ - - -}) - diff --git a/tests/testthat/test-minute.R b/tests/testthat/test-minute.R deleted file mode 100644 index 440981f..0000000 --- a/tests/testthat/test-minute.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking minute") - -test_that("minute ...",{ - - -}) - diff --git a/tests/testthat/test-month.R b/tests/testthat/test-month.R deleted file mode 100644 index e8c8cbb..0000000 --- a/tests/testthat/test-month.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking month") - -test_that("month ...",{ - - -}) - diff --git a/tests/testthat/test-name.R b/tests/testthat/test-name.R deleted file mode 100644 index 799d901..0000000 --- a/tests/testthat/test-name.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking name") - -test_that("name ...",{ - - -}) - diff --git a/tests/testthat/test-normal.R b/tests/testthat/test-normal.R deleted file mode 100644 index 92973fe..0000000 --- a/tests/testthat/test-normal.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking normal") - -test_that("normal ...",{ - - -}) - diff --git a/tests/testthat/test-peek.R b/tests/testthat/test-peek.R deleted file mode 100644 index 14984c5..0000000 --- a/tests/testthat/test-peek.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking peek") - -test_that("peek ...",{ - - -}) - diff --git a/tests/testthat/test-political.R b/tests/testthat/test-political.R deleted file mode 100644 index 3f17926..0000000 --- a/tests/testthat/test-political.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking political") - -test_that("political ...",{ - - -}) - diff --git a/tests/testthat/test-probs.R b/tests/testthat/test-probs.R deleted file mode 100644 index 015aab0..0000000 --- a/tests/testthat/test-probs.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking probs") - -test_that("probs ...",{ - - -}) - diff --git a/tests/testthat/test-r_data.R b/tests/testthat/test-r_data.R deleted file mode 100644 index 2270d71..0000000 --- a/tests/testthat/test-r_data.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_data") - -test_that("r_data ...",{ - - -}) - diff --git a/tests/testthat/test-r_data_frame.R b/tests/testthat/test-r_data_frame.R deleted file mode 100644 index b0a550c..0000000 --- a/tests/testthat/test-r_data_frame.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_data_frame") - -test_that("r_data_frame ...",{ - - -}) - diff --git a/tests/testthat/test-r_dummy.R b/tests/testthat/test-r_dummy.R deleted file mode 100644 index ff55413..0000000 --- a/tests/testthat/test-r_dummy.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_dummy") - -test_that("r_dummy ...",{ - - -}) - diff --git a/tests/testthat/test-r_insert.R b/tests/testthat/test-r_insert.R deleted file mode 100644 index 2469718..0000000 --- a/tests/testthat/test-r_insert.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_insert") - -test_that("r_insert ...",{ - - -}) - diff --git a/tests/testthat/test-r_list.R b/tests/testthat/test-r_list.R index 6b620f2..a546da8 100644 --- a/tests/testthat/test-r_list.R +++ b/tests/testthat/test-r_list.R @@ -1,7 +1,3 @@ -context("Checking r_list") - -test_that("r_list ...",{ - - +test_that("r_list can set n of individual functions", { + expect_length(r_list(10, age)[[1]], 10) }) - diff --git a/tests/testthat/test-r_na.R b/tests/testthat/test-r_na.R deleted file mode 100644 index 7e8e11e..0000000 --- a/tests/testthat/test-r_na.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_na") - -test_that("r_na ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample.R b/tests/testthat/test-r_sample.R deleted file mode 100644 index 1c9e7b4..0000000 --- a/tests/testthat/test-r_sample.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample") - -test_that("r_sample ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_binary.R b/tests/testthat/test-r_sample_binary.R deleted file mode 100644 index 4498688..0000000 --- a/tests/testthat/test-r_sample_binary.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_binary") - -test_that("r_sample_binary ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_factor.R b/tests/testthat/test-r_sample_factor.R deleted file mode 100644 index 03b9df1..0000000 --- a/tests/testthat/test-r_sample_factor.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_factor") - -test_that("r_sample_factor ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_integer.R b/tests/testthat/test-r_sample_integer.R deleted file mode 100644 index f6bfa05..0000000 --- a/tests/testthat/test-r_sample_integer.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_integer") - -test_that("r_sample_integer ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_logical.R b/tests/testthat/test-r_sample_logical.R deleted file mode 100644 index c27dc81..0000000 --- a/tests/testthat/test-r_sample_logical.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_logical") - -test_that("r_sample_logical ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_ordered.R b/tests/testthat/test-r_sample_ordered.R deleted file mode 100644 index 5e61d12..0000000 --- a/tests/testthat/test-r_sample_ordered.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_ordered") - -test_that("r_sample_ordered ...",{ - - -}) - diff --git a/tests/testthat/test-r_sample_replace.R b/tests/testthat/test-r_sample_replace.R deleted file mode 100644 index 2098b13..0000000 --- a/tests/testthat/test-r_sample_replace.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_sample_replace") - -test_that("r_sample_replace ...",{ - - -}) - diff --git a/tests/testthat/test-r_series.R b/tests/testthat/test-r_series.R deleted file mode 100644 index 2ba452a..0000000 --- a/tests/testthat/test-r_series.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking r_series") - -test_that("r_series ...",{ - - -}) - diff --git a/tests/testthat/test-race.R b/tests/testthat/test-race.R deleted file mode 100644 index e3c62ec..0000000 --- a/tests/testthat/test-race.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking race") - -test_that("race ...",{ - - -}) - diff --git a/tests/testthat/test-relate.R b/tests/testthat/test-relate.R deleted file mode 100644 index 58beaf9..0000000 --- a/tests/testthat/test-relate.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking relate") - -test_that("relate ...",{ - - -}) - diff --git a/tests/testthat/test-religion.R b/tests/testthat/test-religion.R deleted file mode 100644 index 883b1b9..0000000 --- a/tests/testthat/test-religion.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking religion") - -test_that("religion ...",{ - - -}) - diff --git a/tests/testthat/test-sat.R b/tests/testthat/test-sat.R deleted file mode 100644 index adb8e47..0000000 --- a/tests/testthat/test-sat.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking sat") - -test_that("sat ...",{ - - -}) - diff --git a/tests/testthat/test-second.R b/tests/testthat/test-second.R deleted file mode 100644 index ae2302e..0000000 --- a/tests/testthat/test-second.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking second") - -test_that("second ...",{ - - -}) - diff --git a/tests/testthat/test-sentence.R b/tests/testthat/test-sentence.R deleted file mode 100644 index eaf6868..0000000 --- a/tests/testthat/test-sentence.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking sentence") - -test_that("sentence ...",{ - - -}) - diff --git a/tests/testthat/test-seriesname.R b/tests/testthat/test-seriesname.R deleted file mode 100644 index 89fb665..0000000 --- a/tests/testthat/test-seriesname.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking seriesname") - -test_that("seriesname ...",{ - - -}) - diff --git a/tests/testthat/test-sex.R b/tests/testthat/test-sex.R deleted file mode 100644 index ebe7bfc..0000000 --- a/tests/testthat/test-sex.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking sex") - -test_that("sex ...",{ - - -}) - diff --git a/tests/testthat/test-sex_inclusive.R b/tests/testthat/test-sex_inclusive.R deleted file mode 100644 index f8d3640..0000000 --- a/tests/testthat/test-sex_inclusive.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking sex_inclusive") - -test_that("sex_inclusive ...",{ - - -}) - diff --git a/tests/testthat/test-smokes.R b/tests/testthat/test-smokes.R deleted file mode 100644 index 8e2906b..0000000 --- a/tests/testthat/test-smokes.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking smokes") - -test_that("smokes ...",{ - - -}) - diff --git a/tests/testthat/test-speed.R b/tests/testthat/test-speed.R deleted file mode 100644 index c238030..0000000 --- a/tests/testthat/test-speed.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking speed") - -test_that("speed ...",{ - - -}) - diff --git a/tests/testthat/test-state.R b/tests/testthat/test-state.R deleted file mode 100644 index edac133..0000000 --- a/tests/testthat/test-state.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking state") - -test_that("state ...",{ - - -}) - diff --git a/tests/testthat/test-string.R b/tests/testthat/test-string.R deleted file mode 100644 index 9e47a8b..0000000 --- a/tests/testthat/test-string.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking string") - -test_that("string ...",{ - - -}) - diff --git a/tests/testthat/test-table_heat.R b/tests/testthat/test-table_heat.R deleted file mode 100644 index ba3ae60..0000000 --- a/tests/testthat/test-table_heat.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking table_heat") - -test_that("table_heat ...",{ - - -}) - diff --git a/tests/testthat/test-time_stamp.R b/tests/testthat/test-time_stamp.R deleted file mode 100644 index 3225c48..0000000 --- a/tests/testthat/test-time_stamp.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking time_stamp") - -test_that("time_stamp ...",{ - - -}) - diff --git a/tests/testthat/test-upper.R b/tests/testthat/test-upper.R deleted file mode 100644 index 14af9c1..0000000 --- a/tests/testthat/test-upper.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking upper") - -test_that("upper ...",{ - - -}) - diff --git a/tests/testthat/test-valid.R b/tests/testthat/test-valid.R deleted file mode 100644 index 3dcaf67..0000000 --- a/tests/testthat/test-valid.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking valid") - -test_that("valid ...",{ - - -}) - diff --git a/tests/testthat/test-variables.R b/tests/testthat/test-variables.R deleted file mode 100644 index fa19302..0000000 --- a/tests/testthat/test-variables.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking variables") - -test_that("variables ...",{ - - -}) - diff --git a/tests/testthat/test-varname.R b/tests/testthat/test-varname.R deleted file mode 100644 index 4d79304..0000000 --- a/tests/testthat/test-varname.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking varname") - -test_that("varname ...",{ - - -}) - diff --git a/tests/testthat/test-year.R b/tests/testthat/test-year.R deleted file mode 100644 index 7fab7ea..0000000 --- a/tests/testthat/test-year.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking year") - -test_that("year ...",{ - - -}) - diff --git a/tests/testthat/test-zip_code.R b/tests/testthat/test-zip_code.R deleted file mode 100644 index 0ac298c..0000000 --- a/tests/testthat/test-zip_code.R +++ /dev/null @@ -1,7 +0,0 @@ -context("Checking zip_code") - -test_that("zip_code ...",{ - - -}) - From b7c4229baa0012fa1f825b5bf46b1e5f4e0c4851 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:10:56 -0500 Subject: [PATCH 5/9] Reduce hard dependencies ggplot2 and dplyr are mostly only used by examples. Instead of `dplyr::tbl_df()` use `tibble::as_tibble()`. Fixes #27 --- DESCRIPTION | 5 +++-- R/r_data_frame.R | 2 +- R/relate.R | 2 +- man/age.Rd | 2 +- man/animal.Rd | 2 +- man/answer.Rd | 2 +- man/area.Rd | 2 +- man/car.Rd | 2 +- man/children.Rd | 2 +- man/coin.Rd | 2 +- man/date_stamp.Rd | 2 +- man/death.Rd | 2 +- man/dice.Rd | 2 +- man/dna.Rd | 2 +- man/dob.Rd | 2 +- man/dummy.Rd | 2 +- man/education.Rd | 2 +- man/employment.Rd | 2 +- man/eye.Rd | 2 +- man/grade.Rd | 2 +- man/grade_level.Rd | 2 +- man/group.Rd | 2 +- man/hair.Rd | 2 +- man/height.Rd | 2 +- man/income.Rd | 2 +- man/internet_browser.Rd | 2 +- man/iq.Rd | 2 +- man/language.Rd | 2 +- man/letter.Rd | 2 +- man/level.Rd | 2 +- man/likert.Rd | 2 +- man/lorem_ipsum.Rd | 2 +- man/marital.Rd | 2 +- man/military.Rd | 2 +- man/month.Rd | 2 +- man/name.Rd | 2 +- man/normal.Rd | 2 +- man/political.Rd | 2 +- man/race.Rd | 2 +- man/religion.Rd | 2 +- man/sat.Rd | 2 +- man/sentence.Rd | 2 +- man/sex.Rd | 2 +- man/sex_inclusive.Rd | 2 +- man/smokes.Rd | 2 +- man/speed.Rd | 2 +- man/state.Rd | 2 +- man/string.Rd | 2 +- man/valid.Rd | 2 +- man/year.Rd | 2 +- man/zip_code.Rd | 2 +- 51 files changed, 53 insertions(+), 52 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index bb7343c..e0916a3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,10 +19,11 @@ Depends: R (>= 3.2.0) Imports: chron, - dplyr, - ggplot2, + tibble, stringi Suggests: + dplyr, + ggplot2, testthat Encoding: UTF-8 LazyData: TRUE diff --git a/R/r_data_frame.R b/R/r_data_frame.R index b58bb7b..7884ed8 100644 --- a/R/r_data_frame.R +++ b/R/r_data_frame.R @@ -98,7 +98,7 @@ function (n, ..., rep.sep = "_") { out <- stats::setNames(data.frame(out, stringsAsFactors = FALSE, check.names = FALSE), nms) - dplyr::tbl_df(out) + tibble::as_tibble(out) } diff --git a/R/relate.R b/R/relate.R index 4613b65..a0f6816 100644 --- a/R/relate.R +++ b/R/relate.R @@ -67,6 +67,6 @@ relate <- function(x, j, name = NULL, operation = "+", mean = 5, sd = 1, out <- stats::setNames(seed_dat, paste(name, seq_len(j), sep = rep.sep)) - seriesname(dplyr::tbl_df(out), name) + seriesname(tibble::as_tibble(out), name) } diff --git a/man/age.Rd b/man/age.Rd index 30b75bd..9db5570 100644 --- a/man/age.Rd +++ b/man/age.Rd @@ -40,7 +40,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/animal.Rd b/man/animal.Rd index d3299f3..28db6d9 100644 --- a/man/animal.Rd +++ b/man/animal.Rd @@ -62,7 +62,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/answer.Rd b/man/answer.Rd index c44f7ba..2b0fd0b 100644 --- a/man/answer.Rd +++ b/man/answer.Rd @@ -36,7 +36,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/area.Rd b/man/area.Rd index 261b787..56d4e76 100644 --- a/man/area.Rd +++ b/man/area.Rd @@ -36,7 +36,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/car.Rd b/man/car.Rd index f2cd1f8..80c28ef 100644 --- a/man/car.Rd +++ b/man/car.Rd @@ -36,7 +36,7 @@ Other variable functions: \code{\link{area}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/children.Rd b/man/children.Rd index 56868e4..d9fa7c0 100644 --- a/man/children.Rd +++ b/man/children.Rd @@ -41,7 +41,7 @@ Other variable functions: \code{\link{area}()}, \code{\link{car}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/coin.Rd b/man/coin.Rd index aaa989b..cd53c2e 100644 --- a/man/coin.Rd +++ b/man/coin.Rd @@ -36,7 +36,7 @@ Other variable functions: \code{\link{area}()}, \code{\link{car}()}, \code{\link{children}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/date_stamp.Rd b/man/date_stamp.Rd index 9707bc4..c2e2137 100644 --- a/man/date_stamp.Rd +++ b/man/date_stamp.Rd @@ -66,7 +66,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{death}()}, \code{\link{dice}()}, \code{\link{dna}()}, diff --git a/man/death.Rd b/man/death.Rd index 88146f9..c4ee5db 100644 --- a/man/death.Rd +++ b/man/death.Rd @@ -41,7 +41,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{dice}()}, \code{\link{dna}()}, diff --git a/man/dice.Rd b/man/dice.Rd index ad54f95..2837efa 100644 --- a/man/dice.Rd +++ b/man/dice.Rd @@ -37,7 +37,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dna}()}, diff --git a/man/dna.Rd b/man/dna.Rd index e1f69b5..20baca0 100644 --- a/man/dna.Rd +++ b/man/dna.Rd @@ -42,7 +42,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/dob.Rd b/man/dob.Rd index 7c2154d..0b6c0e6 100644 --- a/man/dob.Rd +++ b/man/dob.Rd @@ -74,7 +74,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/dummy.Rd b/man/dummy.Rd index eb8367f..0069302 100644 --- a/man/dummy.Rd +++ b/man/dummy.Rd @@ -37,7 +37,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/education.Rd b/man/education.Rd index c468785..120a633 100644 --- a/man/education.Rd +++ b/man/education.Rd @@ -71,7 +71,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/employment.Rd b/man/employment.Rd index 14f2fd3..4a4aab6 100644 --- a/man/employment.Rd +++ b/man/employment.Rd @@ -55,7 +55,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/eye.Rd b/man/eye.Rd index e0abaa5..303f13e 100644 --- a/man/eye.Rd +++ b/man/eye.Rd @@ -54,7 +54,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/grade.Rd b/man/grade.Rd index 041ff8c..73bc9f0 100644 --- a/man/grade.Rd +++ b/man/grade.Rd @@ -78,7 +78,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/grade_level.Rd b/man/grade_level.Rd index 93b3616..5956c5c 100644 --- a/man/grade_level.Rd +++ b/man/grade_level.Rd @@ -42,7 +42,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/group.Rd b/man/group.Rd index f9967b2..c278d55 100644 --- a/man/group.Rd +++ b/man/group.Rd @@ -41,7 +41,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/hair.Rd b/man/hair.Rd index 3741d3d..1ba35b0 100644 --- a/man/hair.Rd +++ b/man/hair.Rd @@ -55,7 +55,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/height.Rd b/man/height.Rd index e00f18b..687cb7f 100644 --- a/man/height.Rd +++ b/man/height.Rd @@ -84,7 +84,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/income.Rd b/man/income.Rd index 74a822c..dcbc05a 100644 --- a/man/income.Rd +++ b/man/income.Rd @@ -42,7 +42,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/internet_browser.Rd b/man/internet_browser.Rd index 13cf99f..545c1c6 100644 --- a/man/internet_browser.Rd +++ b/man/internet_browser.Rd @@ -59,7 +59,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/iq.Rd b/man/iq.Rd index 35b8f70..19745e0 100644 --- a/man/iq.Rd +++ b/man/iq.Rd @@ -47,7 +47,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/language.Rd b/man/language.Rd index aecae9f..b53c57c 100644 --- a/man/language.Rd +++ b/man/language.Rd @@ -48,7 +48,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/letter.Rd b/man/letter.Rd index 1da9adc..72c6922 100644 --- a/man/letter.Rd +++ b/man/letter.Rd @@ -72,7 +72,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/level.Rd b/man/level.Rd index 72ec5a5..f7f91b7 100644 --- a/man/level.Rd +++ b/man/level.Rd @@ -67,7 +67,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/likert.Rd b/man/likert.Rd index 4d69a2c..fea1935 100644 --- a/man/likert.Rd +++ b/man/likert.Rd @@ -64,7 +64,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/lorem_ipsum.Rd b/man/lorem_ipsum.Rd index 33a19e3..c9ed66b 100644 --- a/man/lorem_ipsum.Rd +++ b/man/lorem_ipsum.Rd @@ -47,7 +47,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/marital.Rd b/man/marital.Rd index 0b6837b..ec661c2 100644 --- a/man/marital.Rd +++ b/man/marital.Rd @@ -42,7 +42,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/military.Rd b/man/military.Rd index f0bba13..a8ac211 100644 --- a/man/military.Rd +++ b/man/military.Rd @@ -56,7 +56,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/month.Rd b/man/month.Rd index d5c2c73..7148b5b 100644 --- a/man/month.Rd +++ b/man/month.Rd @@ -37,7 +37,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/name.Rd b/man/name.Rd index f54a0d7..fe91ab4 100644 --- a/man/name.Rd +++ b/man/name.Rd @@ -48,7 +48,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/normal.Rd b/man/normal.Rd index 0280d70..3091cf7 100644 --- a/man/normal.Rd +++ b/man/normal.Rd @@ -66,7 +66,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/political.Rd b/man/political.Rd index b7e1ef2..aecccff 100644 --- a/man/political.Rd +++ b/man/political.Rd @@ -56,7 +56,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/race.Rd b/man/race.Rd index 38e0c7f..07aa693 100644 --- a/man/race.Rd +++ b/man/race.Rd @@ -59,7 +59,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/religion.Rd b/man/religion.Rd index 30c09c5..af334fd 100644 --- a/man/religion.Rd +++ b/man/religion.Rd @@ -63,7 +63,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/sat.Rd b/man/sat.Rd index 0e4f525..3f18e87 100644 --- a/man/sat.Rd +++ b/man/sat.Rd @@ -48,7 +48,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/sentence.Rd b/man/sentence.Rd index 072b657..61fc55a 100644 --- a/man/sentence.Rd +++ b/man/sentence.Rd @@ -42,7 +42,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/sex.Rd b/man/sex.Rd index d75d454..7c3fd08 100644 --- a/man/sex.Rd +++ b/man/sex.Rd @@ -60,7 +60,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/sex_inclusive.Rd b/man/sex_inclusive.Rd index f51d8ab..60b1dde 100644 --- a/man/sex_inclusive.Rd +++ b/man/sex_inclusive.Rd @@ -67,7 +67,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/smokes.Rd b/man/smokes.Rd index d109920..e1656a8 100644 --- a/man/smokes.Rd +++ b/man/smokes.Rd @@ -38,7 +38,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/speed.Rd b/man/speed.Rd index 6b9966a..3252f51 100644 --- a/man/speed.Rd +++ b/man/speed.Rd @@ -76,7 +76,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/state.Rd b/man/state.Rd index 0af3910..e4ac14e 100644 --- a/man/state.Rd +++ b/man/state.Rd @@ -99,7 +99,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/string.Rd b/man/string.Rd index 7ab983e..7d5876c 100644 --- a/man/string.Rd +++ b/man/string.Rd @@ -39,7 +39,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/valid.Rd b/man/valid.Rd index c692b14..806cce0 100644 --- a/man/valid.Rd +++ b/man/valid.Rd @@ -35,7 +35,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/year.Rd b/man/year.Rd index 61ae914..fb1cdc2 100644 --- a/man/year.Rd +++ b/man/year.Rd @@ -43,7 +43,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, diff --git a/man/zip_code.Rd b/man/zip_code.Rd index a06b968..f8b71a1 100644 --- a/man/zip_code.Rd +++ b/man/zip_code.Rd @@ -39,7 +39,7 @@ Other variable functions: \code{\link{car}()}, \code{\link{children}()}, \code{\link{coin}()}, -\code{\link{color}}, +\code{\link{color}()}, \code{\link{date_stamp}()}, \code{\link{death}()}, \code{\link{dice}()}, From 9cbe04896d5b5077503e239119db140843fb7ebf Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:26:18 -0500 Subject: [PATCH 6/9] Convert roxygen2 to use markdown --- DESCRIPTION | 1 + R/animal.R | 14 +++--- R/as_integer.R | 18 +++---- R/car.R | 2 +- R/color.R | 14 +++--- R/date_stamp.R | 22 ++++----- R/death.R | 2 +- R/dummy.R | 8 +-- R/education.R | 26 +++++----- R/employment.R | 12 ++--- R/eye.R | 12 ++--- R/grade.R | 8 +-- R/hair.R | 10 ++-- R/height.R | 8 +-- R/hour.R | 4 +- R/id.R | 26 +++++----- R/income.R | 12 ++--- R/internet_browser.R | 16 +++--- R/interval.R | 24 ++++----- R/language.R | 2 +- R/level.R | 20 ++++---- R/likert.R | 4 +- R/lorem_ipsum.R | 14 +++--- R/military.R | 12 ++--- R/minute.R | 4 +- R/name.R | 2 +- R/normal.R | 20 ++++---- R/peek.R | 14 +++--- R/political.R | 12 ++--- R/probs.R | 2 +- R/r_data.R | 12 ++--- R/r_data_frame.R | 22 ++++----- R/r_dummy.R | 20 ++++---- R/r_insert.R | 12 ++--- R/r_list.R | 20 ++++---- R/r_na.R | 12 ++--- R/r_sample.R | 2 +- R/r_sample_binary.R | 6 +-- R/r_sample_factor.R | 8 +-- R/r_sample_integer.R | 2 +- R/r_sample_logical.R | 6 +-- R/r_sample_ordered.R | 4 +- R/r_sample_replace.R | 10 ++-- R/r_series.R | 28 +++++------ R/race.R | 18 +++---- R/relate.R | 22 ++++----- R/religion.R | 22 ++++----- R/sat.R | 2 +- R/second.R | 4 +- R/sentence.R | 2 +- R/seriesname.R | 14 +++--- R/sex.R | 4 +- R/sex_inclusive.R | 8 +-- R/smokes.R | 4 +- R/speed.R | 8 +-- R/state.R | 100 +++++++++++++++++++------------------- R/string.R | 8 +-- R/table_heat.R | 20 ++++---- R/time_stamp.R | 4 +- R/upper.R | 14 +++--- R/valid.R | 2 +- R/variables.R | 26 +++++----- R/varname.R | 18 +++---- R/wakefield-package.R | 2 +- man/age.Rd | 6 +-- man/animal.Rd | 10 ++-- man/as_integer.Rd | 12 ++--- man/car.Rd | 2 +- man/date_stamp.Rd | 4 +- man/dob.Rd | 2 +- man/dummy.Rd | 2 +- man/education.Rd | 26 +++++----- man/employment.Rd | 12 ++--- man/eye.Rd | 12 ++--- man/grade.Rd | 30 ++++++------ man/group.Rd | 2 +- man/hair.Rd | 10 ++-- man/height.Rd | 2 +- man/hour.Rd | 2 +- man/id.Rd | 16 +++--- man/income.Rd | 4 +- man/internet_browser.Rd | 16 +++--- man/interval.Rd | 8 +-- man/iq.Rd | 2 +- man/language.Rd | 2 +- man/languages.Rd | 8 +-- man/level.Rd | 10 ++-- man/lorem_ipsum.Rd | 4 +- man/military.Rd | 12 ++--- man/minute.Rd | 2 +- man/normal.Rd | 10 ++-- man/peek.Rd | 6 +-- man/plot.tbl_df.Rd | 2 +- man/political.Rd | 12 ++--- man/r_data.Rd | 28 +++++------ man/r_data_frame.Rd | 16 +++--- man/r_dummy.Rd | 10 ++-- man/r_insert.Rd | 10 ++-- man/r_list.Rd | 14 +++--- man/r_na.Rd | 4 +- man/r_sample.Rd | 2 +- man/r_sample_binary.Rd | 2 +- man/r_sample_factor.Rd | 2 +- man/r_sample_integer.Rd | 2 +- man/r_sample_logical.Rd | 2 +- man/r_sample_ordered.Rd | 4 +- man/r_sample_replace.Rd | 2 +- man/r_series.Rd | 18 +++---- man/race.Rd | 18 +++---- man/relate.Rd | 8 +-- man/religion.Rd | 20 ++++---- man/sat.Rd | 2 +- man/second.Rd | 2 +- man/sentence.Rd | 2 +- man/seriesname.Rd | 6 +-- man/sex.Rd | 6 +-- man/sex_inclusive.Rd | 10 ++-- man/speed.Rd | 2 +- man/state.Rd | 102 +++++++++++++++++++-------------------- man/state_populations.Rd | 6 +-- man/string.Rd | 2 +- man/table_heat.Rd | 10 ++-- man/time_stamp.Rd | 2 +- man/variables.Rd | 14 +++--- 124 files changed, 694 insertions(+), 693 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index e0916a3..fc16911 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -108,3 +108,4 @@ Collate: 'varname.R' 'year.R' 'zip_code.R' +Roxygen: list(markdown = TRUE) diff --git a/R/animal.R b/R/animal.R index 23a1675..364eab8 100644 --- a/R/animal.R +++ b/R/animal.R @@ -1,6 +1,6 @@ #' Generate Random Vector of animals #' -#' \code{animal} - Generate a random vector of animals. +#' `animal` - Generate a random vector of animals. #' #' @inheritParams color #' @return Returns a random factor vector of animal elements. @@ -29,16 +29,16 @@ animal <- function(n, k = 10, x = wakefield::animal_list, prob = NULL, name = "A #' Generate Random Vector of animals #' -#' \code{pet} - Generate a random vector of pets. +#' `pet` - Generate a random vector of pets. #' #' @details The household pets and probabilities: #' #' \tabular{ll}{ -#' Dog \tab 36.5 \%\cr -#' Cat \tab 30.4 \%\cr -#' None \tab 25.8 \%\cr -#' Bird \tab 3.1 \% \cr -#' Horse \tab 1.5 \% \cr +#' Dog \tab 36.5 %\cr +#' Cat \tab 30.4 %\cr +#' None \tab 25.8 %\cr +#' Bird \tab 3.1 % \cr +#' Horse \tab 1.5 % \cr #' } #' #' @export diff --git a/R/as_integer.R b/R/as_integer.R index aec346c..587cb14 100644 --- a/R/as_integer.R +++ b/R/as_integer.R @@ -1,19 +1,19 @@ #' Convert a Factor Data Frame to Integer #' -#' Converts a \code{\link[base]{data.frame}} of \code{\link[base]{factor}}s to +#' Converts a [base::data.frame()] of [base::factor()]s to #' integers. #' -#' @param x A \code{\link[base]{data.frame}} of \code{\link[base]{factor}}s. -#' @param cols Numeric indices of the columns to incude (use \code{-} to exclude -#' as well). Default is to assign random \code{NA}s to all columns except the +#' @param x A [base::data.frame()] of [base::factor()]s. +#' @param cols Numeric indices of the columns to incude (use `-` to exclude +#' as well). Default is to assign random `NA`s to all columns except the #' first column. -#' @param fun An \code{as.} coercion function to apply to each column. Default -#' is \code{\link[base]{as.integer}}. -#' @return Returns a \code{\link[base]{data.frame}} equal to the -#' \code{\link[base]{class}} of \code{x} with integer columns rather than factor. +#' @param fun An `as.` coercion function to apply to each column. Default +#' is [base::as.integer()]. +#' @return Returns a [base::data.frame()] equal to the +#' [base::class()] of `x` with integer columns rather than factor. #' @keywords integer numeric #' @export -#' @seealso \code{\link[wakefield]{r_series}} +#' @seealso [wakefield::r_series()] #' @examples #' as_integer(r_series(likert_7, 5, 10)) #' as_integer(r_series(likert_7, 5, 10), cols = c(2, 4)) diff --git a/R/car.R b/R/car.R index da74caf..3ef47a3 100644 --- a/R/car.R +++ b/R/car.R @@ -1,6 +1,6 @@ #' Generate Random Vector of Cars #' -#' Generate a random vector of cars (see \code{?\link[datasets]{mtcars}}). +#' Generate a random vector of cars (see `?[mtcars][datasets::mtcars]`). #' #' @inheritParams r_sample_factor #' @return Returns a random vector of car elements. diff --git a/R/color.R b/R/color.R index 1dc2b07..0f4c08c 100644 --- a/R/color.R +++ b/R/color.R @@ -1,15 +1,15 @@ #' Generate Random Vector of Colors #' -#' \code{color} - Generate a random vector of colors (sampled from \code{colors()}). +#' `color` - Generate a random vector of colors (sampled from `colors()`). #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. -#' @param k The number of the elements of x to sample from (uses \code{sample(x, k)}). +#' the environment of `r_data_frame` or `r_list`. +#' @param k The number of the elements of x to sample from (uses `sample(x, k)`). #' @param x A vector of elements to chose from. #' @param prob A vector of probabilities to chose from. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random factor vector of color elements. #' @keywords color #' @export @@ -37,8 +37,8 @@ color <- function(n, k = 10, x = grDevices::colors(), prob = NULL, name = "Color #' Generate Random Vector of Colors #' -#' \code{color} - Generate a random vector of \emph{psycological primary} -#' colors (sampled from \code{colors()}). +#' `color` - Generate a random vector of *psycological primary* +#' colors (sampled from `colors()`). #' #' @export #' @rdname color diff --git a/R/date_stamp.R b/R/date_stamp.R index 089d0d3..890e96f 100644 --- a/R/date_stamp.R +++ b/R/date_stamp.R @@ -3,27 +3,27 @@ #' Generate a random vector of dates. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. -#' @param random logical. If \code{TRUE} the dates are randomized, otherwise the +#' the environment of `r_data_frame` or `r_list`. +#' @param random logical. If `TRUE` the dates are randomized, otherwise the #' dates are sequential. -#' @param x A vector of elements to chose from. This may be \code{NULL} if -#' arguments are supplied to \code{start}, \code{k}, and \code{by}. The -#' \code{x} argument takes precedence over the other three if \code{!is.null}. -#' Note that \code{start}, \code{k}, and \code{by} work together to make a -#' vector of dates to sample from. See \code{\link[base]{seq.Date}} for +#' @param x A vector of elements to chose from. This may be `NULL` if +#' arguments are supplied to `start`, `k`, and `by`. The +#' `x` argument takes precedence over the other three if `!is.null`. +#' Note that `start`, `k`, and `by` work together to make a +#' vector of dates to sample from. See [base::seq.Date()] for #' additional information. #' @param start A date to start the sequence at. #' @param k The length of the sequence (number of the elements) so build out from -#' \code{start}. +#' `start`. #' @param by The interval to use in building the sequence. #' @param prob A vector of probabilities to chose from. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random factor vector of date elements. #' @keywords date #' @export -#' @seealso \code{\link[base]{seq.Date}} +#' @seealso [base::seq.Date()] #' @family variable functions #' @examples #' date_stamp(10) diff --git a/R/death.R b/R/death.R index cc97cf8..5531b90 100644 --- a/R/death.R +++ b/R/death.R @@ -1,6 +1,6 @@ #' Generate Random Vector of Deaths Outcomes #' -#' Generate a random logical vector of deaths (\code{TRUE}/\code{FALSE}). +#' Generate a random logical vector of deaths (`TRUE`/`FALSE`). #' #' @inheritParams dummy #' @return Returns a random logical vector of death outcome elements. diff --git a/R/dummy.R b/R/dummy.R index 150c30e..da5cb23 100644 --- a/R/dummy.R +++ b/R/dummy.R @@ -3,13 +3,13 @@ #' Generate a random dummy coded (0/1) vector. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param prob A vector of probabilities to chose from. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random dummy vector of (0/1) elements. -#' @seealso \code{\link[base]{sample.int}} +#' @seealso [base::sample.int()] #' @family variable functions #' @export #' @examples diff --git a/R/education.R b/R/education.R index 463a03a..4e9d316 100644 --- a/R/education.R +++ b/R/education.R @@ -6,19 +6,19 @@ #' U.S. educational attainment make-up (http://www.census.gov): #' #' \tabular{lr}{ -#' \bold{ Highest Attainment} \tab \bold{Percent} \cr -#' No Schooling Completed \tab 1.3 \% \cr -#' Nursery School to 8th Grade \tab 5 \% \cr -#' 9th Grade to 12th Grade, No Diploma \tab 8.5 \% \cr -#' Regular High School Diploma \tab 24.6 \%\cr -#' GED or Alternative Credential \tab 3.9 \% \cr -#' Some College, Less than 1 Year \tab 6.4 \% \cr -#' Some College, 1 or More Years, No Degree \tab 15 \% \cr -#' Associate's Degree \tab 7.5 \% \cr -#' Bachelor's Degree \tab 17.6 \%\cr -#' Master's Degree \tab 7.2 \% \cr -#' Professional School Degree \tab 1.9 \% \cr -#' Doctorate Degree \tab 1.2 \% \cr +#' ** Highest Attainment** \tab **Percent** \cr +#' No Schooling Completed \tab 1.3 % \cr +#' Nursery School to 8th Grade \tab 5 % \cr +#' 9th Grade to 12th Grade, No Diploma \tab 8.5 % \cr +#' Regular High School Diploma \tab 24.6 %\cr +#' GED or Alternative Credential \tab 3.9 % \cr +#' Some College, Less than 1 Year \tab 6.4 % \cr +#' Some College, 1 or More Years, No Degree \tab 15 % \cr +#' Associate's Degree \tab 7.5 % \cr +#' Bachelor's Degree \tab 17.6 %\cr +#' Master's Degree \tab 7.2 % \cr +#' Professional School Degree \tab 1.9 % \cr +#' Doctorate Degree \tab 1.2 % \cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/employment.R b/R/employment.R index f219768..3757c27 100644 --- a/R/employment.R +++ b/R/employment.R @@ -6,12 +6,12 @@ #' @details The following arbitrary probabilities are used: #' #' \tabular{lr}{ -#' \bold{ Employment Status} \tab \bold{Percent}\cr -#' Full Time \tab 60\%\cr -#' Part Time \tab 10\%\cr -#' Unemployed \tab 10\%\cr -#' Retired \tab 10\%\cr -#' Student \tab 10\%\cr +#' ** Employment Status** \tab **Percent**\cr +#' Full Time \tab 60%\cr +#' Part Time \tab 10%\cr +#' Unemployed \tab 10%\cr +#' Retired \tab 10%\cr +#' Student \tab 10%\cr #' } #' #' @return Returns a random vector of employment status elements. diff --git a/R/eye.R b/R/eye.R index 0360973..99b5b39 100644 --- a/R/eye.R +++ b/R/eye.R @@ -5,12 +5,12 @@ #' @details The eye colors and probabilities: #' #' \tabular{lr}{ -#' \bold{ Color} \tab \bold{Percent}\cr -#' Brown \tab 44 \%\cr -#' Blue \tab 30 \%\cr -#' Green \tab 13 \%\cr -#' Hazel \tab 9 \%\cr -#' Gray \tab 4 \%\cr +#' ** Color** \tab **Percent**\cr +#' Brown \tab 44 %\cr +#' Blue \tab 30 %\cr +#' Green \tab 13 %\cr +#' Hazel \tab 9 %\cr +#' Gray \tab 4 %\cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/grade.R b/R/grade.R index e61cf8a..b14ca84 100644 --- a/R/grade.R +++ b/R/grade.R @@ -1,11 +1,11 @@ #' Generate Random Vector of Grades #' -#' \code{grade} - Generate a random normal vector of percent grades. +#' `grade` - Generate a random normal vector of percent grades. #' #' @details The conversion between percent range, letter grade, and GPA is: #' #' \tabular{llr}{ -#' \bold{Percent} \tab \bold{Letter} \tab \bold{GPA}\cr +#' **Percent** \tab **Letter** \tab **GPA**\cr #' 97-100 \tab A+ \tab 4.00\cr #' 93-96 \tab A \tab 4.00\cr #' 90-92 \tab A- \tab 3.67\cr @@ -49,7 +49,7 @@ function (n, mean = 88, sd = 4, name = "Grade", digits = 1) { #' Generate Random Vector of Grades #' -#' \code{grade} - Generate a random normal vector of letter grades. +#' `grade` - Generate a random normal vector of letter grades. #' #' @export #' @rdname grade @@ -65,7 +65,7 @@ function (n, mean = 88, sd = 4, name = "Grade_Letter") { #' Generate Random Vector of Grades #' -#' \code{grade} - Generate a random normal vector of grade point averages (GPA; +#' `grade` - Generate a random normal vector of grade point averages (GPA; #' 0.0 - 4.0 scale). #' #' @export diff --git a/R/hair.R b/R/hair.R index 19898d1..1d752d0 100644 --- a/R/hair.R +++ b/R/hair.R @@ -5,11 +5,11 @@ #' @details The hair colors and probabilities: #' #' \tabular{lr}{ -#' \bold{ Color} \tab \bold{Percent}\cr -#' Brown \tab 35 \%\cr -#' Black \tab 28 \%\cr -#' Blonde \tab 26 \%\cr -#' Red \tab 11 \%\cr +#' ** Color** \tab **Percent**\cr +#' Brown \tab 35 %\cr +#' Black \tab 28 %\cr +#' Blonde \tab 26 %\cr +#' Red \tab 11 %\cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/height.R b/R/height.R index 6f2683c..88cf8d7 100644 --- a/R/height.R +++ b/R/height.R @@ -1,10 +1,10 @@ #' Generate Random Vector of Heights #' -#' \code{height} and \code{height_in} - Generate a random normal vector of +#' `height` and `height_in` - Generate a random normal vector of #' heights in inches. #' -#' @note \code{height} rounds to nearest whole number. \code{height_in} & -#' \code{height_in} round to the nearest tenths. +#' @note `height` rounds to nearest whole number. `height_in` & +#' `height_in` round to the nearest tenths. #' #' @inheritParams normal_round #' @return Returns a random normal vector of height elements. @@ -39,7 +39,7 @@ height_in <- hijack(normal_round, #' Generate Random Vector of Heights #' -#' \code{height_cm} - Generate a random normal vector of heights in centimeters. +#' `height_cm` - Generate a random normal vector of heights in centimeters. #' #' @rdname height #' @export diff --git a/R/hour.R b/R/hour.R index dae1485..f312460 100644 --- a/R/hour.R +++ b/R/hour.R @@ -3,12 +3,12 @@ #' Generate a random vector of H:M:S times. #' #' @inheritParams r_sample_factor -#' @param random logical. If \code{TRUE} the times are randomized, otherwise the +#' @param random logical. If `TRUE` the times are randomized, otherwise the #' times are sequential. #' @return Returns a random vector of H:M:S time elements. #' @keywords time hour #' @export -#' @seealso \code{\link[chron]{times}} +#' @seealso [chron::times()] #' @examples #' hour(20) #' hour(20, random=TRUE) diff --git a/R/id.R b/R/id.R index 03c06fb..988bf55 100644 --- a/R/id.R +++ b/R/id.R @@ -1,29 +1,29 @@ #' Identification Numbers #' -#' \code{id} - Generate a sequential \code{\link[base]{character}} vector of +#' `id` - Generate a sequential [base::character()] vector of #' zero-padded identification numbers (IDs). #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. -#' @param random logical. If \code{TRUE} the IDs are randomized, otherwise the +#' the environment of `r_data_frame` or `r_list`. +#' @param random logical. If `TRUE` the IDs are randomized, otherwise the #' IDs are sequential. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @rdname id #' @keywords id identification -#' @section Warning: \code{id} uses \code{\link[base]{sprintf}} to generate the -#' padded ID. Per \code{\link[base]{sprintf}}'s documentation: ``The format +#' @section Warning: `id` uses [base::sprintf()] to generate the +#' padded ID. Per [base::sprintf()]'s documentation: ``The format #' string is passed down the OS's sprintf function...The behaviour on inputs not #' documented here is 'undefined', which means it is allowed to differ by -#' platform.'' See \code{\link[base]{sprintf}} for details. -#' @note \code{id} is faster than \code{id_factor}, as the later coerces the -#' vector to a \code{\link[base]{factor}}. +#' platform.'' See [base::sprintf()] for details. +#' @note `id` is faster than `id_factor`, as the later coerces the +#' vector to a [base::factor()]. #' @return Returns a (optionally random) vector of -#' \code{\link[base]{character}}/\code{\link[base]{factor}} observations +#' [base::character()]/[base::factor()] observations #' ID numbers. #' @export -#' @seealso \code{\link[base]{sprintf}} +#' @seealso [base::sprintf()] #' @examples #' id(1000) #' r_data_frame(n=21, id) @@ -42,7 +42,7 @@ id <- function(n, random = FALSE, name = "ID"){ #' Identification Numbers #' -#' \code{id_factor} - Generate a sequential \code{\link[base]{factor}} vector +#' `id_factor` - Generate a sequential [base::factor()] vector #' of zero-padded identification numbers (IDs). #' #' @rdname id diff --git a/R/income.R b/R/income.R index 7dc0fee..46b17c8 100644 --- a/R/income.R +++ b/R/income.R @@ -2,19 +2,19 @@ #' #' Generate a random gamma vector of incomes. #' -#' @details Incomes are generated using: \code{rgamma(n, 2) * 2000}. +#' @details Incomes are generated using: `rgamma(n, 2) * 2000`. #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param digits Integer indicating the number of decimal places to be used. -#' Negative values are allowed (see \code{\link[base]{round}}). -#' @param name The name to assign to the output vector's \code{varname} +#' Negative values are allowed (see [base::round()]). +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random gamma vector of income elements. #' @keywords income #' @export #' @family variable functions -#' @seealso \code{\link[base]{gamma}} +#' @seealso [base::gamma()] #' @examples #' income(10) #' hist(income(10000)) diff --git a/R/internet_browser.R b/R/internet_browser.R index 1658595..1f7e7ef 100644 --- a/R/internet_browser.R +++ b/R/internet_browser.R @@ -5,13 +5,13 @@ #' @details The browser use and probabilities (from https://gs.statcounter.com/): #' #' \tabular{lr}{ -#' \bold{ Browser} \tab \bold{Percent} \cr -#' Chrome \tab 50.27 \%\cr -#' IE \tab 17.50 \% \cr -#' Firefox \tab 16.89 \%\cr -#' Safari \tab 9.94 \% \cr -#' Opera \tab 1.70 \% \cr -#' Android \tab 1.32 \% \cr +#' ** Browser** \tab **Percent** \cr +#' Chrome \tab 50.27 %\cr +#' IE \tab 17.50 % \cr +#' Firefox \tab 16.89 %\cr +#' Safari \tab 9.94 % \cr +#' Opera \tab 1.70 % \cr +#' Android \tab 1.32 % \cr #' } #' #' @inheritParams r_sample_factor @@ -40,7 +40,7 @@ internet_browser <- hijack(r_sample_factor, ## Android,1.32", header=TRUE, stringsAsFactors = FALSE, sep=",") %>% ## mutate( ## Proportion = Percent/100, -## Percent = paste(Percent, "\\%") +## Percent = paste(Percent, "\%") ## ) %>% ## arrange(desc(Proportion)) %>% ## select(1, 3) %>% dput diff --git a/R/interval.R b/R/interval.R index db84198..9281fa1 100644 --- a/R/interval.R +++ b/R/interval.R @@ -1,30 +1,30 @@ #' Cut Numeric Into Factor #' -#' A wrapper for \code{\link[base]{cut}} that cuts the vector and then adds the -#' \code{varname} produced by the original function. +#' A wrapper for [base::cut()] that cuts the vector and then adds the +#' `varname` produced by the original function. #' #' @param fun A vector producing function. #' @param breaks Either a numeric vector of two or more unique cut points or a #' single number (greater than or equal to 2) giving the number of intervals -#' into which the vector produced from \code{fun} is to be cut. -#' @param \ldots Other arguments passed to \code{fun}. +#' into which the vector produced from `fun` is to be cut. +#' @param \ldots Other arguments passed to `fun`. #' @param labels Labels for the levels of the resulting category. By default, #' labels are constructed using "(a,b]" interval notation. If -#' \code{labels = FALSE}, simple integer codes are returned instead of a factor. -#' @param include.lowest logical. If \code{TRUE} an 'x[i]' equal to the lowest -#' (or highest, for \code{right = FALSE}) 'breaks' value should be included. -#' @param right logical. If \code{TRUE} the intervals will be closed on the +#' `labels = FALSE`, simple integer codes are returned instead of a factor. +#' @param include.lowest logical. If `TRUE` an `x[i]` equal to the lowest +#' (or highest, for `right = FALSE`) 'breaks' value should be included. +#' @param right logical. If `TRUE` the intervals will be closed on the #' right (and open on the left). #' @param dig.lab An integer which is used when labels are not given. It #' determines the number of digits used in formatting the break numbers. -#' @param ordered_result logical. If \code{TRUE} the result be an ordered +#' @param ordered_result logical. If `TRUE` the result be an ordered #' factor. #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. -#' @return Returns a \code{\link[base]{cut}} factor vector. +#' the environment of `r_data_frame` or `r_list`. +#' @return Returns a [base::cut()] factor vector. #' @keywords cut interval #' @export -#' @seealso \code{\link[base]{cut}} +#' @seealso [base::cut()] #' @examples #' interval(normal, 4, n=100) #' attributes(interval(normal, 4, n=100)) diff --git a/R/language.R b/R/language.R index 1d173c7..1def921 100644 --- a/R/language.R +++ b/R/language.R @@ -1,7 +1,7 @@ #' Generate Random Vector of Languages #' #' Generate a random vector of languages from the -#' \code{\link[wakefield]{presidential_debates_2012}}. +#' [wakefield::presidential_debates_2012()]. #' #' @inheritParams r_sample_factor #' @return Returns a random character vector of language elements. diff --git a/R/level.R b/R/level.R index 04bb656..c14f236 100644 --- a/R/level.R +++ b/R/level.R @@ -1,6 +1,6 @@ #' Generate Random Vector of Levels #' -#' \code{level} - Generate a random vector of integer levels (1-4). +#' `level` - Generate a random vector of integer levels (1-4). #' #' @inheritParams r_sample_factor #' @return Returns a random vector of integer levels (1-4) elements. @@ -25,18 +25,18 @@ level <- hijack(r_sample, #' Generate Random Vector of Levels #' -#' \code{math} - Generate a random vector of integer mathematics levels (1-4) +#' `math` - Generate a random vector of integer mathematics levels (1-4) #' similar to New York State grades 3-8 assessment results. #' -#' @details Distribution of levels (used in \code{prob}) were taken from New -#' York State' s 2014 assessment report: \url{http://www.p12.nysed.gov/irs/} +#' @details Distribution of levels (used in `prob`) were taken from New +#' York State' s 2014 assessment report: #' #' \tabular{lrr}{ -#' \bold{ Level} \tab \bold{ELA} \tab \bold{Math}\cr -#' 1 \tab 31.6\% \tab 29.8\%\cr -#' 2 \tab 37.3\% \tab 33.3\%\cr -#' 3 \tab 22.3\% \tab 22.8\%\cr -#' 4 \tab 8.8\% \tab 14.0\%\cr +#' ** Level** \tab **ELA** \tab **Math**\cr +#' 1 \tab 31.6% \tab 29.8%\cr +#' 2 \tab 37.3% \tab 33.3%\cr +#' 3 \tab 22.3% \tab 22.8%\cr +#' 4 \tab 8.8% \tab 14.0%\cr #' } #' #' @export @@ -49,7 +49,7 @@ math <- hijack(r_sample, #' Generate Random Vector of Levels #' -#' \code{ela} - Generate a random vector of integer English language arts (ELA) +#' `ela` - Generate a random vector of integer English language arts (ELA) #' levels (1-4) similar to New York State grades 3-8 assessment results. #' #' @export diff --git a/R/likert.R b/R/likert.R index 0bdd5bf..f96c793 100644 --- a/R/likert.R +++ b/R/likert.R @@ -3,8 +3,8 @@ #' Generate a random vector of Likert-type responses. #' #' @inheritParams r_sample_factor -#' @note \code{likert} & \code{likert_5} are identical outputs, sampling from a -#' 5-point response scale. \code{likert_7} samples from a 7-point response +#' @note `likert` & `likert_5` are identical outputs, sampling from a +#' 5-point response scale. `likert_7` samples from a 7-point response #' scale. #' @return Returns a random vector of Likert-type response elements. #' @keywords likert responses diff --git a/R/lorem_ipsum.R b/R/lorem_ipsum.R index 3c9180e..691b715 100644 --- a/R/lorem_ipsum.R +++ b/R/lorem_ipsum.R @@ -3,18 +3,18 @@ #' Generates (pseudo)random lorem ipsum text. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. -#' @param \dots Other arguments passed to \code{\link[stringi]{stri_rand_lipsum}}. -#' @param name The name to assign to the output vector's \code{varname} +#' the environment of `r_data_frame` or `r_list`. +#' @param \dots Other arguments passed to [stringi::stri_rand_lipsum()]. +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random character vector of string elements. #' @keywords string character #' @export -#' @note \code{lorem_ipsum} and \code{paragraph} produce identical strings but +#' @note `lorem_ipsum` and `paragraph` produce identical strings but #' will produce different vector/column names when used inside of -#' \code{r_data_frame} or \code{r_list}. -#' @seealso \code{\link[stringi]{stri_rand_lipsum}} +#' `r_data_frame` or `r_list`. +#' @seealso [stringi::stri_rand_lipsum()] #' @rdname lorem_ipsum #' @family variable functions #' @examples diff --git a/R/military.R b/R/military.R index 03d5bae..ff5a62c 100644 --- a/R/military.R +++ b/R/military.R @@ -6,12 +6,12 @@ #' military make-up: #' #' \tabular{lrr}{ -#' \bold{ Branch} \tab \bold{N} \tab \bold{Percent} \cr -#' Army \tab 541,291 \tab 37.9\%\cr -#' Air Force \tab 333,772 \tab 23.3\%\cr -#' Navy \tab 317,237 \tab 22.2\%\cr -#' Marine Corps \tab 195,338 \tab 13.7\%\cr -#' Coast Guard \tab 42,357 \tab 3.0\%\cr +#' ** Branch** \tab **N** \tab **Percent** \cr +#' Army \tab 541,291 \tab 37.9%\cr +#' Air Force \tab 333,772 \tab 23.3%\cr +#' Navy \tab 317,237 \tab 22.2%\cr +#' Marine Corps \tab 195,338 \tab 13.7%\cr +#' Coast Guard \tab 42,357 \tab 3.0%\cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/minute.R b/R/minute.R index b81e9a3..62d9d6a 100644 --- a/R/minute.R +++ b/R/minute.R @@ -3,12 +3,12 @@ #' Generate a random vector of minutes in H:M:S format. #' #' @inheritParams r_sample_factor -#' @param random logical. If \code{TRUE} the times are randomized, otherwise the +#' @param random logical. If `TRUE` the times are randomized, otherwise the #' times are sequential. #' @return Returns a random vector of minute time elements in H:M:S format. #' @keywords time minute #' @export -#' @seealso \code{\link[chron]{times}} +#' @seealso [chron::times()] #' @examples #' minute(20) #' minute(20, random=TRUE) diff --git a/R/name.R b/R/name.R index fa5e57c..5f64807 100644 --- a/R/name.R +++ b/R/name.R @@ -1,7 +1,7 @@ #' Generate Random Vector of Names #' #' Generate a random vector of first names. This dataset includes all unique entries -#' from the \code{babynames} package. +#' from the `babynames` package. #' #' @inheritParams r_sample_replace #' @return Returns a random vector of name elements. diff --git a/R/normal.R b/R/normal.R index 0f16f8a..b8751d1 100644 --- a/R/normal.R +++ b/R/normal.R @@ -1,22 +1,22 @@ #' Generate Random Normal Vector #' -#' \code{normal} - A wrapper for \code{\link[stats]{rnorm}} that generate a +#' `normal` - A wrapper for [stats::rnorm()] that generate a #' random normal vector. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param mean The mean value for the normal distribution to be drawn from. #' @param sd The standard deviation of the normal distribution to draw from. #' @param min A numeric lower boundary cutoff. Results less than this value will be -#' replaced with \code{min}. +#' replaced with `min`. #' @param max A numeric upper boundary cutoff. Results greater than this value will -#' be replaced with \code{max}. -#' @param name The name to assign to the output vector's \code{varname} +#' be replaced with `max`. +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random vector of elements. #' @keywords normal -#' @seealso \code{\link[stats]{rnorm}} +#' @seealso [stats::rnorm()] #' @family variable functions #' @export #' @rdname normal @@ -44,12 +44,12 @@ function (n, mean = 0, sd = 1, min = NULL, max = NULL, name = "Normal") { #' Generate Random Normal Vector #' -#' \code{normal_round} - A wrapper for \code{\link[stats]{rnorm}} that generate +#' `normal_round` - A wrapper for [stats::rnorm()] that generate #' a rounded random normal vector. #' #' @param digits Integer indicating the number of decimal places to be used. -#' Negative values are allowed (see \code{\link[base]{round}}). -#' @seealso \code{\link[base]{round}} +#' Negative values are allowed (see [base::round()]). +#' @seealso [base::round()] #' @export #' @rdname normal normal_round <- diff --git a/R/peek.R b/R/peek.R index 2838795..7fdf794 100644 --- a/R/peek.R +++ b/R/peek.R @@ -1,19 +1,19 @@ #' Data Frame Viewing #' #' Convenience function to view all the columns of the head -#' of a truncated \code{\link[base]{data.frame}}. \code{peek} invisibly returns -#' \code{x}. This makes its use ideal in a \pkg{dplyr}/\pkg{magrittr} pipeline. +#' of a truncated [base::data.frame()]. `peek` invisibly returns +#' `x`. This makes its use ideal in a \pkg{dplyr}/\pkg{magrittr} pipeline. #' -#' @param x A \code{\link[base]{data.frame}} object. +#' @param x A [base::data.frame()] object. #' @param n Number of rows to display. #' @param width The width of the columns to be displayed. #' @param \ldots For internal use. -#' @return Prints a truncated head but invisibly returns \code{x}. -#' @seealso \code{\link[utils]{head}} +#' @return Prints a truncated head but invisibly returns `x`. +#' @seealso [utils::head()] #' @export #' @details By default \pkg{dplyr} does not print all columns of a data frame -#' (\code{tbl_df}). This makes inspection of data difficult at times, -#' particularly with text string data. \code{peek} allows the user to see a +#' (`tbl_df`). This makes inspection of data difficult at times, +#' particularly with text string data. `peek` allows the user to see a #' truncated head for inspection purposes. #' @examples #' (dat1 <- r_data_frame(100, id, sentence, paragraph)) diff --git a/R/political.R b/R/political.R index 1e91de2..1f507cf 100644 --- a/R/political.R +++ b/R/political.R @@ -6,12 +6,12 @@ #' political make-up of registered voters (2014). The default make up is: #' #' \tabular{lrr}{ -#' \bold{ Party} \tab \bold{N} \tab \bold{Percent} \cr -#' Democrat \tab 43,140,758 \tab 57.73\% \cr -#' Republican \tab 30,700,138 \tab 41.08\% \cr -#' Constitution \tab 367,000 \tab .49\% \cr -#' Libertarian \tab 278,446 \tab .37\% \cr -#' Green \tab 246,145 \tab .33\% \cr +#' ** Party** \tab **N** \tab **Percent** \cr +#' Democrat \tab 43,140,758 \tab 57.73% \cr +#' Republican \tab 30,700,138 \tab 41.08% \cr +#' Constitution \tab 367,000 \tab .49% \cr +#' Libertarian \tab 278,446 \tab .37% \cr +#' Green \tab 246,145 \tab .33% \cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/probs.R b/R/probs.R index 0dd0197..e60fe91 100644 --- a/R/probs.R +++ b/R/probs.R @@ -4,7 +4,7 @@ #' #' @param j An integer of number of probability elements (typically performs #' best at j < 4000). -#' @param upper \code{probs} works by sampling from \code{1:upper} j times and +#' @param upper `probs` works by sampling from `1:upper` j times and #' then dividing each sample by the sum of all samples. #' @return Returns a vector of probabilities summing to 1. #' @keywords probability percent diff --git a/R/r_data.R b/R/r_data.R index 933f1e5..7684d46 100644 --- a/R/r_data.R +++ b/R/r_data.R @@ -1,6 +1,6 @@ #' Pre-Selected Column Data Set #' -#' \code{r_data} - Generate a data set with pre-set columns selected. +#' `r_data` - Generate a data set with pre-set columns selected. #' #' @param n The length to pass to the randomly generated vectors (number of rows). #' @param \ldots A set of optionally named arguments. Using \pkg{wakefield} @@ -18,13 +18,13 @@ #' \item Died #' } #' -#' The user may use \ldots to add additional columns. \code{r_data} is a +#' The user may use \ldots to add additional columns. `r_data` is a #' convenience function to quickly produce a data set. For more specific usage -#' use the more flexible \code{\link[wakefield]{r_data_frame}} function. -#' @return Returns a \code{\link[dplyr]{tbl_df}}. +#' use the more flexible [wakefield::r_data_frame()] function. +#' @return Returns a [dplyr::tbl_df()]. #' @export #' @rdname r_data -#' @seealso \code{\link[wakefield]{r_data_frame}} +#' @seealso [wakefield::r_data_frame()] #' @examples #' r_data() #' r_data(10) @@ -52,7 +52,7 @@ r_data <- function(n = 500, ...){ #' Pre-Selected Column Data Set #' -#' \code{r_data_theme} - Generate a themed data set with pre-set columns. +#' `r_data_theme` - Generate a themed data set with pre-set columns. #' #' @param data_theme A data theme. Currently selections include: #' \describe{ diff --git a/R/r_data_frame.R b/R/r_data_frame.R index 7884ed8..4a5b436 100644 --- a/R/r_data_frame.R +++ b/R/r_data_frame.R @@ -1,6 +1,6 @@ #' Data Frame Production (From Variable Functions) #' -#' Produce a \code{\link[dplyr]{tbl_df}} data frame that allows the user to +#' Produce a [dplyr::tbl_df()] data frame that allows the user to #' lazily pass unnamed \pkg{wakefield} variable functions (optionally, without #' call parenthesis). #' @@ -8,19 +8,19 @@ #' @param \ldots A set of optionally named arguments. Using \pkg{wakefield} #' variable functions require no name or call parenthesis. #' @param rep.sep A separator to use for repeated variable names. For example -#' if the \code{\link[wakefield]{age}} is used three times -#' (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all -#' three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. -#' To turn of this behavior use \code{rep.sep = NULL}. This results in -#' \code{c("Age", "Age.1", "Age.2")} column names in the -#' \code{\link[base]{data.frame}}. -#' @return Returns a \code{\link[dplyr]{tbl_df}}. +#' if the [wakefield::age()] is used three times +#' (`r_data_frame(age, age, age)`), the name "Age" will be assigned to all +#' three columns. The results in column names `c("Age_1", "Age_2", "Age_3")`. +#' To turn of this behavior use `rep.sep = NULL`. This results in +#' `c("Age", "Age.1", "Age.2")` column names in the +#' [base::data.frame()]. +#' @return Returns a [dplyr::tbl_df()]. #' @author Josh O'Brien and Tyler Rinker . #' @references https://stackoverflow.com/a/29617983/1000343 #' @export -#' @seealso \code{\link[wakefield]{r_list}}, -#' \code{\link[wakefield]{r_series}} -#' \code{\link[wakefield]{r_dummy}} +#' @seealso [wakefield::r_list()], +#' [wakefield::r_series()] +#' [wakefield::r_dummy()] #' @examples #' r_data_frame(n = 30, #' id, diff --git a/R/r_dummy.R b/R/r_dummy.R index 9c8c199..5d13a71 100644 --- a/R/r_dummy.R +++ b/R/r_dummy.R @@ -4,20 +4,20 @@ #' #' @param fun A \pkg{wakefield} variable function. #' @param n The number of rows to produce. -#' @param \ldots Additional arguments passed to \code{fun}. -#' @param prefix logical. If \code{TRUE} the original factor name (supplied to -#' \code{fun} as \code{name} argument) will prefix the column names that were +#' @param \ldots Additional arguments passed to `fun`. +#' @param prefix logical. If `TRUE` the original factor name (supplied to +#' `fun` as `name` argument) will prefix the column names that were #' generated from the factor's categories. #' @param rep.sep A separator to use for the variable and category part of names -#' when \code{prefix = TRUE}. For example if the \code{\link[wakefield]{age}} -#' is used (\code{r_dummy(sex)}), this results in column names -#' \code{c("Sex_Male", "Sex_Female")}. -#' @return Returns a \code{\link[dplyr]{tbl_df}}. +#' when `prefix = TRUE`. For example if the [wakefield::age()] +#' is used (`r_dummy(sex)`), this results in column names +#' `c("Sex_Male", "Sex_Female")`. +#' @return Returns a [dplyr::tbl_df()]. #' @keywords dummy #' @export -#' @seealso \code{\link[wakefield]{r_list}}, -#' \code{\link[wakefield]{r_data_frame}}, -#' \code{\link[wakefield]{r_series}} +#' @seealso [wakefield::r_list()], +#' [wakefield::r_data_frame()], +#' [wakefield::r_series()] #' @examples #' r_dummy(sex, 10) #' r_dummy(race, 1000) diff --git a/R/r_insert.R b/R/r_insert.R index 8cc5f7c..a8b1283 100644 --- a/R/r_insert.R +++ b/R/r_insert.R @@ -1,15 +1,15 @@ -#' Insert Data Frames Into \code{r_data_frame} +#' Insert Data Frames Into `r_data_frame` #' -#' Safely insert \code{\link[base]{data.frame}} objects into a -#' \code{\link[wakefield]{r_data_frame}} or \code{\link[wakefield]{r_list}}. +#' Safely insert [base::data.frame()] objects into a +#' [wakefield::r_data_frame()] or [wakefield::r_list()]. #' #' @inheritParams seriesname -#' @return Returns a \code{\link[base]{data.frame}} with a -#' \code{attributes(x)[["seriesname"]]} assigned. +#' @return Returns a [base::data.frame()] with a +#' `attributes(x)[["seriesname"]]` assigned. #' @keywords insert #' @export #' @include utils.R seriesname.R -#' @seealso \code{\link[wakefield]{seriesname}} +#' @seealso [wakefield::seriesname()] #' @examples #' dat <- dplyr::data_frame( #' Age_1 = age(100), Age_2 = age(100), Age_3 = age(100), diff --git a/R/r_list.R b/R/r_list.R index dad7d22..4cba7e3 100644 --- a/R/r_list.R +++ b/R/r_list.R @@ -1,6 +1,6 @@ #' List Production (From Variable Functions) #' -#' Produce a named \code{\link[base]{list}} that allows the user to lazily pass +#' Produce a named [base::list()] that allows the user to lazily pass #' unnamed \pkg{wakefield} variable functions (optionally, without call #' parenthesis). #' @@ -8,21 +8,21 @@ #' @param \ldots A set of optionally named arguments. Using \pkg{wakefield} #' variable functions require no name or call parenthesis. #' @param rep.sep A separator to use for repeated variable names. For example -#' if the \code{\link[wakefield]{age}} is used three times -#' (\code{r_list(age, age, age)}), the name "Age" will be assigned to all three +#' if the [wakefield::age()] is used three times +#' (`r_list(age, age, age)`), the name "Age" will be assigned to all three #' vectors in the list. The results in column names -#' \code{c("Age_1", "Age_2", "Age_3")}. To turn of this behavior use -#' \code{rep.sep = NULL}. This results in \code{c("Age", "Age", "Age")} for -#' vector names, leading to \code{c("Age", "Age.1", "Age.2")} if coerced to a -#' \code{\link[base]{data.frame}}. +#' `c("Age_1", "Age_2", "Age_3")`. To turn of this behavior use +#' `rep.sep = NULL`. This results in `c("Age", "Age", "Age")` for +#' vector names, leading to `c("Age", "Age.1", "Age.2")` if coerced to a +#' [base::data.frame()]. #' @return Returns a named list of equal length vectors. #' @author Josh O'Brien and Tyler Rinker . #' @references https://stackoverflow.com/a/29617983/1000343 #' @keywords list #' @export -#' @seealso \code{\link[wakefield]{r_data_frame}}, -#' \code{\link[wakefield]{r_series}} -#' \code{\link[wakefield]{r_dummy}} +#' @seealso [wakefield::r_data_frame()], +#' [wakefield::r_series()] +#' [wakefield::r_dummy()] #' @examples #' r_list( #' n = 30, diff --git a/R/r_na.R b/R/r_na.R index 60ea6d6..34bef56 100644 --- a/R/r_na.R +++ b/R/r_na.R @@ -2,14 +2,14 @@ #' #' Replaces a proportion of values with NA. Useful for simulating missing data. #' -#' @param x A \code{\link[base]{data.frame}} or \code{\link[base]{list}} to -#' randomly replace elements with \code{NA}s. -#' @param cols Numeric indices of the columns to incude (use \code{-} to exlcude -#' as well). Default is to assign random \code{NA}s to al columns except the +#' @param x A [base::data.frame()] or [base::list()] to +#' randomly replace elements with `NA`s. +#' @param cols Numeric indices of the columns to incude (use `-` to exlcude +#' as well). Default is to assign random `NA`s to al columns except the #' first column. #' @param prob The proportion of each column/vector elements to assign to -#' \code{NA}. -#' @return Returns a \code{\link[base]{data.frame}} or \code{\link[base]{list}} +#' `NA`. +#' @return Returns a [base::data.frame()] or [base::list()] #' with random missing values. #' @keywords na missing #' @export diff --git a/R/r_sample.R b/R/r_sample.R index cd228e5..17459cc 100644 --- a/R/r_sample.R +++ b/R/r_sample.R @@ -5,7 +5,7 @@ #' @inheritParams r_sample_factor #' @return Returns a random vector of elements. #' @include utils.R -#' @seealso \code{\link[base]{sample}} +#' @seealso [base::sample()] #' @export #' @examples #' r_sample(100, name = "Var") diff --git a/R/r_sample_binary.R b/R/r_sample_binary.R index 32dfc05..201c07e 100644 --- a/R/r_sample_binary.R +++ b/R/r_sample_binary.R @@ -1,11 +1,11 @@ #' Generate Random Binary Vector #' -#' \code{r_sample_binary} - Generate a random binary vector. +#' `r_sample_binary` - Generate a random binary vector. #' #' @inheritParams dummy #' @param x A vector of length 2 to sample from. #' @return Returns a random binary vector of elements. -#' @seealso \code{\link[base]{sample.int}} +#' @seealso [base::sample.int()] #' @export #' @rdname r_sample_binary #' @examples @@ -23,7 +23,7 @@ function (n, x = 1:2, prob = NULL, name = "Binary") { #' Generate Random Binary Vector #' -#' \code{r_sample_binary_factor} - Generate a random binary vector and coerces +#' `r_sample_binary_factor` - Generate a random binary vector and coerces #' to a factor. #' #' @export diff --git a/R/r_sample_factor.R b/R/r_sample_factor.R index 5966746..d349d26 100644 --- a/R/r_sample_factor.R +++ b/R/r_sample_factor.R @@ -3,15 +3,15 @@ #' Generate a random vector and coerces to a factor. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param x A vector of elements to chose from. #' @param prob A vector of probabilities to chose from. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random actor vector of elements. #' @export -#' @seealso \code{\link[base]{sample}} +#' @seealso [base::sample()] #' @examples #' r_sample_factor(100, name = "Var") #' table(r_sample_factor(x = c("Dog", "Cat", "Fish", "Bird"), n=1000)) diff --git a/R/r_sample_integer.R b/R/r_sample_integer.R index b278e1e..2a0dbc4 100644 --- a/R/r_sample_integer.R +++ b/R/r_sample_integer.R @@ -4,7 +4,7 @@ #' #' @inheritParams r_sample_factor #' @return Returns a random integer vector of elements. -#' @seealso \code{\link[base]{sample}} +#' @seealso [base::sample()] #' @include utils.R r_sample.R #' @export #' @examples diff --git a/R/r_sample_logical.R b/R/r_sample_logical.R index a2e2eda..df48a2f 100644 --- a/R/r_sample_logical.R +++ b/R/r_sample_logical.R @@ -1,10 +1,10 @@ #' Generate Random Logical Vector #' -#' Generate a random logical (\code{TRUE}/\code{FALSE}) vector. +#' Generate a random logical (`TRUE`/`FALSE`) vector. #' #' @inheritParams r_sample_binary -#' @return Returns a random logical (\code{TRUE}/\code{FALSE}) vector of elements. -#' @seealso \code{\link[base]{sample}} +#' @return Returns a random logical (`TRUE`/`FALSE`) vector of elements. +#' @seealso [base::sample()] #' @export #' @examples #' r_sample_logical(100, name = "Var") diff --git a/R/r_sample_ordered.R b/R/r_sample_ordered.R index adca8ea..2abddd4 100644 --- a/R/r_sample_ordered.R +++ b/R/r_sample_ordered.R @@ -6,8 +6,8 @@ #' @return Returns a random factor vector of elements. #' @export #' @keywords ordered factor -#' @seealso \code{\link[base]{sample}}, -#' \code{\link[base]{ordered}} +#' @seealso [base::sample()], +#' [base::ordered()] #' @examples #' r_sample_ordered(100, name = "Var") #' diff --git a/R/r_sample_replace.R b/R/r_sample_replace.R index c2fc3c2..c6aa062 100644 --- a/R/r_sample_replace.R +++ b/R/r_sample_replace.R @@ -3,17 +3,17 @@ #' Generate a random vector without replacement. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param x A vector of elements to chose from. #' @param prob A vector of probabilities to chose from. -#' @param replace logical. If \code{TRUE} sampling is done with replacement. +#' @param replace logical. If `TRUE` sampling is done with replacement. #' Default is without replacement. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random vector of elements. #' @include utils.R -#' @seealso \code{\link[base]{sample}} +#' @seealso [base::sample()] #' @export #' @examples #' r_sample(100, name = "Var") diff --git a/R/r_series.R b/R/r_series.R index 38ed278..677dfae 100644 --- a/R/r_series.R +++ b/R/r_series.R @@ -1,29 +1,29 @@ #' Data Frame Series (Repeated Measures) #' -#' Produce a \code{\link[dplyr]{tbl_df}} data frame of repeated measures from a +#' Produce a [dplyr::tbl_df()] data frame of repeated measures from a #' wakefield variable function. #' #' @param fun A \pkg{wakefield} variable function. #' @param j The number of columns to produce. #' @param n The number of rows to produce. -#' @param \ldots Additional arguments passed to \code{fun}. -#' @param integer logical. If \code{TRUE} factor columns will be coerced to +#' @param \ldots Additional arguments passed to `fun`. +#' @param integer logical. If `TRUE` factor columns will be coerced to #' integer. #' @param relate Allows the user to specify the relationship between columns. -#' May be a named list of \code{c("operation", "mean", "sd")} or a string of +#' May be a named list of `c("operation", "mean", "sd")` or a string of #' the form of "fM_sd" where `f` is one of (+, -, *, /), `M` is a mean value, and -#' `sd` is a standard deviation of the mean value (e.g., \code{"*4_1"}). See -#' \code{\link[wakefield]{relate}} for details. +#' `sd` is a standard deviation of the mean value (e.g., `"*4_1"`). See +#' [wakefield::relate()] for details. #' @param rep.sep A separator to use for repeated variable names. For example -#' if the \code{\link[wakefield]{age}} is used three times -#' (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all -#' three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. -#' @return Returns a \code{\link[dplyr]{tbl_df}}. -#' @references \url{https://github.com/trinker/wakefield/issues/1/#issuecomment-96166910} +#' if the [wakefield::age()] is used three times +#' (`r_data_frame(age, age, age)`), the name "Age" will be assigned to all +#' three columns. The results in column names `c("Age_1", "Age_2", "Age_3")`. +#' @return Returns a [dplyr::tbl_df()]. +#' @references #' @export -#' @seealso \code{\link[wakefield]{r_list}}, -#' \code{\link[wakefield]{r_data_frame}} -#' \code{\link[wakefield]{r_dummy}} +#' @seealso [wakefield::r_list()], +#' [wakefield::r_data_frame()] +#' [wakefield::r_dummy()] #' @examples #' r_series(grade, 5, 10) #' diff --git a/R/race.R b/R/race.R index 4495bc9..7aa0c36 100644 --- a/R/race.R +++ b/R/race.R @@ -6,15 +6,15 @@ #' make-up. The default make up is: #' #' \tabular{lr}{ -#' \bold{Race} \tab \bold{Percent}\cr -#' White \tab 63.70 \%\cr -#' Hispanic \tab 16.30 \%\cr -#' Black \tab 12.20 \%\cr -#' Asian \tab 4.70 \%\cr -#' Bi-Racial \tab 1.90 \%\cr -#' Native \tab .70 \%\cr -#' Other \tab .20 \%\cr -#' Hawaiian \tab .15 \%\cr +#' **Race** \tab **Percent**\cr +#' White \tab 63.70 %\cr +#' Hispanic \tab 16.30 %\cr +#' Black \tab 12.20 %\cr +#' Asian \tab 4.70 %\cr +#' Bi-Racial \tab 1.90 %\cr +#' Native \tab .70 %\cr +#' Other \tab .20 %\cr +#' Hawaiian \tab .15 %\cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/relate.R b/R/relate.R index a0f6816..3682601 100644 --- a/R/relate.R +++ b/R/relate.R @@ -4,26 +4,26 @@ #' #' @param x A starting column. #' @param j The number of columns to produce. -#' @param name An optional prefix name to give to the columns. If \code{NULL} -#' attempts to take from the \code{varname} attribute of \code{x}. If not found, +#' @param name An optional prefix name to give to the columns. If `NULL` +#' attempts to take from the `varname` attribute of `x`. If not found, #' "Variable" is used. #' @param operation A operation character vector of length 1; either -#' \code{c("+", "-", "*", "/")}. This is the relationship between columns. +#' `c("+", "-", "*", "/")`. This is the relationship between columns. #' @param mean Mean is the average value to add, subtract, multiple, or divide #' by. -#' @param sd The amount of variability to allow in \code{mean}. Setting to 0 +#' @param sd The amount of variability to allow in `mean`. Setting to 0 #' will constrain the operation between x_(n - 1) column and x_n to be exactly -#' the mean value (see \bold{Examples} for a demonstration). +#' the mean value (see **Examples** for a demonstration). #' @param rep.sep A separator to use for repeated variable names. For example -#' if the \code{\link[wakefield]{age}} is used three times -#' (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all -#' three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. +#' if the [wakefield::age()] is used three times +#' (`r_data_frame(age, age, age)`), the name "Age" will be assigned to all +#' three columns. The results in column names `c("Age_1", "Age_2", "Age_3")`. #' @param digits The number of digits to round to. Defaults to the max number -#' of significant digits in \code{x}. -#' @return Returns a \code{\link[dplyr]{tbl_df}}. +#' of significant digits in `x`. +#' @return Returns a [dplyr::tbl_df()]. #' @keywords correlate related #' @export -#' @seealso \code{\link[wakefield]{r_series}} +#' @seealso [wakefield::r_series()] #' @examples #' relate(1:10, 10) #' diff --git a/R/religion.R b/R/religion.R index 0667708..5ff0b25 100644 --- a/R/religion.R +++ b/R/religion.R @@ -3,19 +3,19 @@ #' Generate a random vector of religion. #' #' @details The religion and probabilities used match approximate world -#' religion make-up (from \href{https://www.pewforum.org/}{Pew Research Center}). +#' religion make-up (from [Pew Research Center](https://www.pewforum.org/)). #' The default make up is: #' #' \tabular{lrr}{ -#' \bold{ Religion} \tab \bold{N} \tab \bold{Percent} \cr -#' Christian \tab 2,173,260,000 \tab 31.48 \%\cr -#' Muslim \tab 1,599,280,000 \tab 23.16 \%\cr -#' None \tab 1,127,000,000 \tab 16.32 \%\cr -#' Hindu \tab 1,034,620,000 \tab 14.99 \%\cr -#' Buddhist \tab 489,030,000 \tab 7.08 \% \cr -#' Folk \tab 406,140,000 \tab 5.88 \% \cr -#' Other \tab 59,330,000 \tab .86 \% \cr -#' Jewish \tab 15,670,000 \tab .23 \% \cr +#' ** Religion** \tab **N** \tab **Percent** \cr +#' Christian \tab 2,173,260,000 \tab 31.48 %\cr +#' Muslim \tab 1,599,280,000 \tab 23.16 %\cr +#' None \tab 1,127,000,000 \tab 16.32 %\cr +#' Hindu \tab 1,034,620,000 \tab 14.99 %\cr +#' Buddhist \tab 489,030,000 \tab 7.08 % \cr +#' Folk \tab 406,140,000 \tab 5.88 % \cr +#' Other \tab 59,330,000 \tab .86 % \cr +#' Jewish \tab 15,670,000 \tab .23 % \cr #' } #' #' @inheritParams r_sample_factor @@ -48,7 +48,7 @@ religion <- hijack(r_sample_factor, ## vect2df("Religion", "Total") %>% ## mutate( ## Proportion = Total/sum(Total), -## Percent = paste(round(100*Proportion, 2), "\\%"), +## Percent = paste(round(100*Proportion, 2), "\%"), ## Proportion = round(Proportion, 5), ## Total = format(Total, big.mark = ",", scientific=FALSE), ## Religion = gsub("^U.+", "None", gsub("\\..+", "", Religion)) diff --git a/R/sat.R b/R/sat.R index a798f4d..7f79666 100644 --- a/R/sat.R +++ b/R/sat.R @@ -1,6 +1,6 @@ #' Generate Random Vector of Scholastic Aptitude Test (SATs) #' -#' \code{grade} - Generate a random normal vector of scholastic aptitude test +#' `grade` - Generate a random normal vector of scholastic aptitude test #' (SATs). #' #' @inheritParams normal_round diff --git a/R/second.R b/R/second.R index ea38597..e89079f 100644 --- a/R/second.R +++ b/R/second.R @@ -3,12 +3,12 @@ #' Generate a random vector of seconds in H:M:S format. #' #' @inheritParams r_sample_factor -#' @param random logical. If \code{TRUE} the times are randomized, otherwise the +#' @param random logical. If `TRUE` the times are randomized, otherwise the #' times are sequential. #' @return Returns a random vector of second time elements in H:M:S format. #' @keywords time second #' @export -#' @seealso \code{\link[chron]{times}} +#' @seealso [chron::times()] #' @examples #' second(20) #' second(20, random=TRUE) diff --git a/R/sentence.R b/R/sentence.R index c3f8b79..1f71e5d 100644 --- a/R/sentence.R +++ b/R/sentence.R @@ -1,7 +1,7 @@ #' Generate Random Vector of Sentences #' #' Generate a random vector of sentences from the -#' \code{\link[wakefield]{presidential_debates_2012}}. +#' [wakefield::presidential_debates_2012()]. #' #' @inheritParams r_sample_factor #' @return Returns a random character vector of sentence elements. diff --git a/R/seriesname.R b/R/seriesname.R index 533370d..2522b3f 100644 --- a/R/seriesname.R +++ b/R/seriesname.R @@ -1,13 +1,13 @@ #' Add Internal Name to Data Frame #' -#' Adds \code{attributes(x)[["seriesname"]]} attribute to a -#' \code{\link[base]{data.frame}}. +#' Adds `attributes(x)[["seriesname"]]` attribute to a +#' [base::data.frame()]. #' -#' @param x A \code{\link[base]{data.frame}} to add a \code{seriesname} -#' attribute (i.e., \code{attributes(x)[["seriesname"]]}) -#' @param name A name to assign to \code{attributes(x)[["seriesname"]]}. -#' @return Returns a \code{\link[base]{data.frame}} with a -#' \code{attributes(x)[["seriesname"]]} assigned. +#' @param x A [base::data.frame()] to add a `seriesname` +#' attribute (i.e., `attributes(x)[["seriesname"]]`) +#' @param name A name to assign to `attributes(x)[["seriesname"]]`. +#' @return Returns a [base::data.frame()] with a +#' `attributes(x)[["seriesname"]]` assigned. #' @export #' @examples #' seriesname(mtcars, "Cars") diff --git a/R/sex.R b/R/sex.R index ce47e40..1703ead 100644 --- a/R/sex.R +++ b/R/sex.R @@ -7,8 +7,8 @@ #' #' \tabular{lr}{ #' \bold{Gender} \tab \bold{Percent}\cr -#' Male \tab 51.22 \%\cr -#' Female \tab 48.78 \%\cr +#' Male \tab 51.22 %\cr +#' Female \tab 48.78 %\cr #' } #' #' @inheritParams r_sample_binary_factor diff --git a/R/sex_inclusive.R b/R/sex_inclusive.R index 436ac4d..37797ef 100644 --- a/R/sex_inclusive.R +++ b/R/sex_inclusive.R @@ -2,7 +2,7 @@ #' #' Generate a random vector of non-binary genders. Proportion of trans* #' category was taken from the -#' \href{https://williamsinstitute.law.ucla.edu/}{Williams Institute Report} (2011), +#' [Williams Institute Report](https://williamsinstitute.law.ucla.edu/) (2011), #' and subtracted equally from the male and female categories. #' #' @details The genders and probabilities used match approximate gender @@ -10,9 +10,9 @@ #' #' \tabular{lr}{ #' \bold{Gender} \tab \bold{Percent}\cr -#' Male \tab 51.07 \%\cr -#' Female \tab 48.63 \%\cr -#' Trans* \tab 0.30 \%\cr +#' Male \tab 51.07 %\cr +#' Female \tab 48.63 %\cr +#' Trans* \tab 0.30 %\cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/smokes.R b/R/smokes.R index a02307c..4535f24 100644 --- a/R/smokes.R +++ b/R/smokes.R @@ -1,9 +1,9 @@ #' Generate Random Logical Smokes Vector #' -#' Generate a random logical (\code{TRUE}/\code{FALSE}) smokes vector. +#' Generate a random logical (`TRUE`/`FALSE`) smokes vector. #' #' @inheritParams r_sample_logical -#' @details The probabilities are non-smoker: 82.2\% vs. smoker: 17.8\%. +#' @details The probabilities are non-smoker: 82.2% vs. smoker: 17.8%. #' @return Returns a random logical vector of smokes elements. #' @keywords smoking #' @export diff --git a/R/speed.R b/R/speed.R index dca9ff5..b0fb450 100644 --- a/R/speed.R +++ b/R/speed.R @@ -1,10 +1,10 @@ #' Generate Random Vector of Speeds #' -#' \code{speed} and \code{speed_in} - Generate a random normal vector of +#' `speed` and `speed_in` - Generate a random normal vector of #' speeds in inches. #' -#' @note \code{speed} rounds to nearest whole number. \code{speed_in} & -#' \code{speed_in} round to the nearest tenths. +#' @note `speed` rounds to nearest whole number. `speed_in` & +#' `speed_in` round to the nearest tenths. #' #' @inheritParams normal_round #' @return Returns a random normal vector of speed elements. @@ -39,7 +39,7 @@ speed_mph <- hijack(normal_round, #' Generate Random Vector of Speeds #' -#' \code{speed_cm} - Generate a random normal vector of speeds in centimeters. +#' `speed_cm` - Generate a random normal vector of speeds in centimeters. #' #' @rdname speed #' @export diff --git a/R/state.R b/R/state.R index 9a2dd83..6d2295a 100644 --- a/R/state.R +++ b/R/state.R @@ -5,56 +5,56 @@ #' @details The state populations and probabilities: #' \tabular{lrr}{ #' \bold{ State} \tab \bold{Population} \tab \bold{Percent} \cr -#' California \tab 37,253,956 \tab 12.09 \%\cr -#' Texas \tab 25,145,561 \tab 8.16 \% \cr -#' New York \tab 19,378,102 \tab 6.29 \% \cr -#' Florida \tab 18,801,310 \tab 6.10 \% \cr -#' Illinois \tab 12,830,632 \tab 4.16 \% \cr -#' Pennsylvania \tab 12,702,379 \tab 4.12 \% \cr -#' Ohio \tab 11,536,504 \tab 3.74 \% \cr -#' Michigan \tab 9,883,640 \tab 3.21 \% \cr -#' Georgia \tab 9,687,653 \tab 3.14 \% \cr -#' North Carolina \tab 9,535,483 \tab 3.09 \% \cr -#' New Jersey \tab 8,791,894 \tab 2.85 \% \cr -#' Virginia \tab 8,001,024 \tab 2.60 \% \cr -#' Washington \tab 6,724,540 \tab 2.18 \% \cr -#' Massachusetts \tab 6,547,629 \tab 2.12 \% \cr -#' Indiana \tab 6,483,802 \tab 2.10 \% \cr -#' Arizona \tab 6,392,017 \tab 2.07 \% \cr -#' Tennessee \tab 6,346,105 \tab 2.06 \% \cr -#' Missouri \tab 5,988,927 \tab 1.94 \% \cr -#' Maryland \tab 5,773,552 \tab 1.87 \% \cr -#' Wisconsin \tab 5,686,986 \tab 1.85 \% \cr -#' Minnesota \tab 5,303,925 \tab 1.72 \% \cr -#' Colorado \tab 5,029,196 \tab 1.63 \% \cr -#' Alabama \tab 4,779,736 \tab 1.55 \% \cr -#' South Carolina \tab 4,625,364 \tab 1.50 \% \cr -#' Louisiana \tab 4,533,372 \tab 1.47 \% \cr -#' Kentucky \tab 4,339,367 \tab 1.41 \% \cr -#' Oregon \tab 3,831,074 \tab 1.24 \% \cr -#' Oklahoma \tab 3,751,351 \tab 1.22 \% \cr -#' Connecticut \tab 3,574,097 \tab 1.16 \% \cr -#' Iowa \tab 3,046,355 \tab .99 \% \cr -#' Mississippi \tab 2,967,297 \tab .96 \% \cr -#' Arkansas \tab 2,915,918 \tab .95 \% \cr -#' Kansas \tab 2,853,118 \tab .93 \% \cr -#' Utah \tab 2,763,885 \tab .90 \% \cr -#' Nevada \tab 2,700,551 \tab .88 \% \cr -#' New Mexico \tab 2,059,179 \tab .67 \% \cr -#' West Virginia \tab 1,852,994 \tab .60 \% \cr -#' Nebraska \tab 1,826,341 \tab .59 \% \cr -#' Idaho \tab 1,567,582 \tab .51 \% \cr -#' Hawaii \tab 1,360,301 \tab .44 \% \cr -#' Maine \tab 1,328,361 \tab .43 \% \cr -#' New Hampshire \tab 1,316,470 \tab .43 \% \cr -#' Rhode Island \tab 1,052,567 \tab .34 \% \cr -#' Montana \tab 989,415 \tab .32 \% \cr -#' Delaware \tab 897,934 \tab .29 \% \cr -#' South Dakota \tab 814,180 \tab .26 \% \cr -#' Alaska \tab 710,231 \tab .23 \% \cr -#' North Dakota \tab 672,591 \tab .22 \% \cr -#' Vermont \tab 625,741 \tab .20 \% \cr -#' Wyoming \tab 563,626 \tab .18 \% \cr +#' California \tab 37,253,956 \tab 12.09 %\cr +#' Texas \tab 25,145,561 \tab 8.16 % \cr +#' New York \tab 19,378,102 \tab 6.29 % \cr +#' Florida \tab 18,801,310 \tab 6.10 % \cr +#' Illinois \tab 12,830,632 \tab 4.16 % \cr +#' Pennsylvania \tab 12,702,379 \tab 4.12 % \cr +#' Ohio \tab 11,536,504 \tab 3.74 % \cr +#' Michigan \tab 9,883,640 \tab 3.21 % \cr +#' Georgia \tab 9,687,653 \tab 3.14 % \cr +#' North Carolina \tab 9,535,483 \tab 3.09 % \cr +#' New Jersey \tab 8,791,894 \tab 2.85 % \cr +#' Virginia \tab 8,001,024 \tab 2.60 % \cr +#' Washington \tab 6,724,540 \tab 2.18 % \cr +#' Massachusetts \tab 6,547,629 \tab 2.12 % \cr +#' Indiana \tab 6,483,802 \tab 2.10 % \cr +#' Arizona \tab 6,392,017 \tab 2.07 % \cr +#' Tennessee \tab 6,346,105 \tab 2.06 % \cr +#' Missouri \tab 5,988,927 \tab 1.94 % \cr +#' Maryland \tab 5,773,552 \tab 1.87 % \cr +#' Wisconsin \tab 5,686,986 \tab 1.85 % \cr +#' Minnesota \tab 5,303,925 \tab 1.72 % \cr +#' Colorado \tab 5,029,196 \tab 1.63 % \cr +#' Alabama \tab 4,779,736 \tab 1.55 % \cr +#' South Carolina \tab 4,625,364 \tab 1.50 % \cr +#' Louisiana \tab 4,533,372 \tab 1.47 % \cr +#' Kentucky \tab 4,339,367 \tab 1.41 % \cr +#' Oregon \tab 3,831,074 \tab 1.24 % \cr +#' Oklahoma \tab 3,751,351 \tab 1.22 % \cr +#' Connecticut \tab 3,574,097 \tab 1.16 % \cr +#' Iowa \tab 3,046,355 \tab .99 % \cr +#' Mississippi \tab 2,967,297 \tab .96 % \cr +#' Arkansas \tab 2,915,918 \tab .95 % \cr +#' Kansas \tab 2,853,118 \tab .93 % \cr +#' Utah \tab 2,763,885 \tab .90 % \cr +#' Nevada \tab 2,700,551 \tab .88 % \cr +#' New Mexico \tab 2,059,179 \tab .67 % \cr +#' West Virginia \tab 1,852,994 \tab .60 % \cr +#' Nebraska \tab 1,826,341 \tab .59 % \cr +#' Idaho \tab 1,567,582 \tab .51 % \cr +#' Hawaii \tab 1,360,301 \tab .44 % \cr +#' Maine \tab 1,328,361 \tab .43 % \cr +#' New Hampshire \tab 1,316,470 \tab .43 % \cr +#' Rhode Island \tab 1,052,567 \tab .34 % \cr +#' Montana \tab 989,415 \tab .32 % \cr +#' Delaware \tab 897,934 \tab .29 % \cr +#' South Dakota \tab 814,180 \tab .26 % \cr +#' Alaska \tab 710,231 \tab .23 % \cr +#' North Dakota \tab 672,591 \tab .22 % \cr +#' Vermont \tab 625,741 \tab .20 % \cr +#' Wyoming \tab 563,626 \tab .18 % \cr #' } #' #' @inheritParams r_sample_factor diff --git a/R/string.R b/R/string.R index 3827f35..3d7d216 100644 --- a/R/string.R +++ b/R/string.R @@ -3,17 +3,17 @@ #' Generate a random vector of strings. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param x A character vector specifying character classes to draw elements #' from. #' @param length Integer vector, desired string lengths. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random character vector of string elements. #' @keywords string character #' @export -#' @seealso \code{\link[stringi]{stri_rand_strings}} +#' @seealso [stringi::stri_rand_strings()] #' @family variable functions #' @examples #' string(10) diff --git a/R/table_heat.R b/R/table_heat.R index 95cbe13..9bce2f2 100644 --- a/R/table_heat.R +++ b/R/table_heat.R @@ -1,23 +1,23 @@ #' View Data Table Column Types as Heat Map #' -#' Generate a heat map of column types from a \code{\link[base]{data.frame}}. +#' Generate a heat map of column types from a [base::data.frame()]. #' -#' @param x A \code{\link[base]{data.frame}}. -#' @param flip logical. If \code{TRUE} the \code{\link[base]{data.frame}} is +#' @param x A [base::data.frame()]. +#' @param flip logical. If `TRUE` the [base::data.frame()] is #' flipped so that the columns are on the y axis and observations on the x axis. #' This is useful when there are many columns or the column names are longer. #' @param palette A palette to chose from. See -#' \code{\link[ggplot2]{scale_fill_brewer}} for more. These choices should -#' exceed the number of unique column types. Use \code{NULL} to use +#' [ggplot2::scale_fill_brewer()] for more. These choices should +#' exceed the number of unique column types. Use `NULL` to use #' \pkg{ggplot2}'s default color scheme. -#' @param print logical. If \code{TRUE} the pot is printed. Option for use in +#' @param print logical. If `TRUE` the pot is printed. Option for use in #' document construction such as \pkg{knitr} or \pkg{rmarkdown}. #' @param sep A separator to use between column types. Column types are -#' determined via \code{sapply(x, class)}. When multiple types are present -#' these are collapsed. By default the \code{\\n} is used. +#' determined via `sapply(x, class)`. When multiple types are present +#' these are collapsed. By default `\n` is used. #' @return Returns a \pkg{ggplot2} object. #' @details By default coumn names retain their order. Column types are ordered -#' alphabetically in the legend, with \code{NA} appearing last. +#' alphabetically in the legend, with `NA` appearing last. #' @keywords class #' @export #' @examples @@ -123,7 +123,7 @@ table_heat <- function(x, flip = FALSE, palette = "Set3", print = interactive(), #' Plots a tbl_df object. #' #' @param x The tbl_df object. -#' @param \ldots Arguments passed to \code{\link[wakefield]{table_heat}}. +#' @param \ldots Arguments passed to [wakefield::table_heat()]. #' @method plot tbl_df #' @export plot.tbl_df <- function(x, ...){ diff --git a/R/time_stamp.R b/R/time_stamp.R index e04e533..d1075cf 100644 --- a/R/time_stamp.R +++ b/R/time_stamp.R @@ -3,12 +3,12 @@ #' Generate a random vector of times in H:M:S format. #' #' @inheritParams r_sample_factor -#' @param random logical. If \code{TRUE} the times are randomized, otherwise the +#' @param random logical. If `TRUE` the times are randomized, otherwise the #' times are sequential. #' @return Returns a random vector of time elements in H:M:S format. #' @keywords time #' @export -#' @seealso \code{\link[chron]{times}} +#' @seealso [chron::times()] #' @examples #' time_stamp(20) #' time_stamp(20, random=TRUE) diff --git a/R/upper.R b/R/upper.R index 0952b4d..2f89ad6 100644 --- a/R/upper.R +++ b/R/upper.R @@ -1,15 +1,15 @@ #' Generate Random Letter Vector #' -#' \code{upper} - Generates a random character vector of upper case letters. +#' `upper` - Generates a random character vector of upper case letters. #' #' @param n The number elements to generate. This can be globally set within -#' the environment of \code{r_data_frame} or \code{r_list}. +#' the environment of `r_data_frame` or `r_list`. #' @param k The number of the elements of x to sample from (uses 1:k). #' @param x A vector of elements to chose from. #' @param prob A vector of probabilities to chose from. -#' @param name The name to assign to the output vector's \code{varname} +#' @param name The name to assign to the output vector's `varname` #' attribute. This is used to auto assign names to the column/vector name when -#' used inside of \code{r_data_frame} or \code{r_list}. +#' used inside of `r_data_frame` or `r_list`. #' @return Returns a random character/factor vector of letter elements. #' @keywords letters upper lower capitals #' @export @@ -36,7 +36,7 @@ upper <- function(n, k = 5, x = LETTERS, prob = NULL, name = "Upper"){ #' Generate Random Letter Vector #' -#' \code{lower} - Generates a random character vector of lower case letters. +#' `lower` - Generates a random character vector of lower case letters. #' #' @export #' @rdname letter @@ -47,7 +47,7 @@ lower <- hijack(upper, #' Generate Random Letter Vector #' -#' \code{upper_factor} - Generates a random factor vector of upper case letters. +#' `upper_factor` - Generates a random factor vector of upper case letters. #' #' @export #' @rdname letter @@ -65,7 +65,7 @@ upper_factor <- function(n, k = 5, x = LETTERS, prob = NULL, name = "Upper"){ #' Generate Random Letter Vector #' -#' \code{lower_factor} - Generates a random factor vector of lower case letters. +#' `lower_factor` - Generates a random factor vector of lower case letters. #' #' @export #' @rdname letter diff --git a/R/valid.R b/R/valid.R index db52af5..7904946 100644 --- a/R/valid.R +++ b/R/valid.R @@ -1,6 +1,6 @@ #' Generate Random Logical Vector #' -#' Generate a random logical (\code{TRUE}/\code{FALSE}) vector. +#' Generate a random logical (`TRUE`/`FALSE`) vector. #' #' @inheritParams r_sample_logical #' @return Returns a random logical vector of elements. diff --git a/R/variables.R b/R/variables.R index 6421d11..f39833e 100644 --- a/R/variables.R +++ b/R/variables.R @@ -1,22 +1,22 @@ #' Available Variable Functions #' #' See a listing of all available variable functions for use in -#' \code{\link[wakefield]{r_data_frame}} or \code{\link[wakefield]{r_list}}. +#' [wakefield::r_data_frame()] or [wakefield::r_list()]. #' -#' @param type The output type. Must be either \code{NULL} (returns a -#' character vector), \code{"matrix"}, or \code{"list"}; or the user may extract +#' @param type The output type. Must be either `NULL` (returns a +#' character vector), `"matrix"`, or `"list"`; or the user may extract #' a specific type from a list using: -#' \code{"character"}, \code{"date"}, \code{"factor"}, \code{"integer"}, -#' \code{"logical"}, \code{"numeric"}, \code{"ordered factor"}. Setting -#' \code{type = TRUE} will also return a \code{\link[base]{list}}. -#' The \code{\link[base]{list}} version breaks the variable functions into -#' classes. Specifying a specific class (e.g., \code{type = "numeric"} will +#' `"character"`, `"date"`, `"factor"`, `"integer"`, +#' `"logical"`, `"numeric"`, `"ordered factor"`. Setting +#' `type = TRUE` will also return a [base::list()]. +#' The [base::list()] version breaks the variable functions into +#' classes. Specifying a specific class (e.g., `type = "numeric"` will #' list only variable functions that yield a numeric output. -#' @param ncols The number of columns to use if \code{type = "matrix"}. -#' @param \ldots Other arguments passed to \code{\link[base]{matrix}}. -#' @return Returns a \code{\link[base]{character}} vector, -#' \code{\link[base]{matrix}} of all variable functions, or a -#' \code{\link[base]{list}} of variable functions by type. +#' @param ncols The number of columns to use if `type = "matrix"`. +#' @param \ldots Other arguments passed to [base::matrix()]. +#' @return Returns a [base::character()] vector, +#' [base::matrix()] of all variable functions, or a +#' [base::list()] of variable functions by type. #' @keywords type #' @export #' @examples diff --git a/R/varname.R b/R/varname.R index c11ea71..7fc2d5c 100644 --- a/R/varname.R +++ b/R/varname.R @@ -1,13 +1,13 @@ #' Add Internal Name to Vector #' -#' Adds the class \code{variable} and an internal -#' \code{attributes(x)[["varname"]]} attribute to a vector. +#' Adds the class `variable` and an internal +#' `attributes(x)[["varname"]]` attribute to a vector. #' -#' @param x A vector to add a \code{varname} attribute (i.e., -#' \code{attributes(x)[["varname"]]}) -#' @param name A name to assign to \code{attributes(x)[["varname"]]}. -#' @return Returns a vector of the class \code{variable} with a -#' \code{attributes(x)[["varname"]]} assigned. +#' @param x A vector to add a `varname` attribute (i.e., +#' `attributes(x)[["varname"]]`) +#' @param name A name to assign to `attributes(x)[["varname"]]`. +#' @return Returns a vector of the class `variable` with a +#' `attributes(x)[["varname"]]` assigned. #' @export #' @examples #' varname(1:10, "A") @@ -27,9 +27,9 @@ function (x, name) { #' Prints a variable Object #' -#' Prints a \code{variable} object +#' Prints a `variable` object #' -#' @param x The \code{variable} object. +#' @param x The `variable` object. #' @param \ldots Ignored. #' @export #' @method print variable diff --git a/R/wakefield-package.R b/R/wakefield-package.R index 7ad1ce7..3e41c4c 100644 --- a/R/wakefield-package.R +++ b/R/wakefield-package.R @@ -9,7 +9,7 @@ NULL #' Augmented List of Grady Ward's English Words and Mark Kantrowitz's Names List #' #' A dataset containing a vector of Grady Ward's English words augmented with -#' \pkg{qdapDictionaries}'s \code{DICTIONARY}, Mark Kantrowitz's names list, +#' \pkg{qdapDictionaries}'s `DICTIONARY`, Mark Kantrowitz's names list, #' other proper nouns, and contractions. #' #' @details A dataset containing a vector of Grady Ward's English words diff --git a/man/age.Rd b/man/age.Rd index 9db5570..49459e0 100644 --- a/man/age.Rd +++ b/man/age.Rd @@ -19,12 +19,12 @@ attribute. This is used to auto assign names to the column/vector name when used inside of \code{r_data_frame} or \code{r_list}.} } \value{ -Returns a random integer vector of ages within the provided range +Returns a random integer vector of ages within the provided range (defaults to 18:89). } \description{ -Generate a random vector of ages within the provided range. The default age -range is set between 18 and 89, to match the age ranges which appear (see e.g., +Generate a random vector of ages within the provided range. The default age +range is set between 18 and 89, to match the age ranges which appear (see e.g., https://gssdataexplorer.norc.org/variables/53/vshow). } \examples{ diff --git a/man/animal.Rd b/man/animal.Rd index 28db6d9..d744bb1 100644 --- a/man/animal.Rd +++ b/man/animal.Rd @@ -40,11 +40,11 @@ Returns a random factor vector of animal elements. The household pets and probabilities: \tabular{ll}{ - Dog \tab 36.5 \%\cr - Cat \tab 30.4 \%\cr - None \tab 25.8 \%\cr - Bird \tab 3.1 \% \cr - Horse \tab 1.5 \% \cr +Dog \tab 36.5 \%\cr +Cat \tab 30.4 \%\cr +None \tab 25.8 \%\cr +Bird \tab 3.1 \% \cr +Horse \tab 1.5 \% \cr } } \examples{ diff --git a/man/as_integer.Rd b/man/as_integer.Rd index 0a4d81f..0692979 100644 --- a/man/as_integer.Rd +++ b/man/as_integer.Rd @@ -7,21 +7,21 @@ as_integer(x, cols = NULL, fun = as.integer) } \arguments{ -\item{x}{A \code{\link[base]{data.frame}} of \code{\link[base]{factor}}s.} +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}} of \code{\link[base:factor]{base::factor()}}s.} \item{cols}{Numeric indices of the columns to incude (use \code{-} to exclude as well). Default is to assign random \code{NA}s to all columns except the first column.} \item{fun}{An \code{as.} coercion function to apply to each column. Default -is \code{\link[base]{as.integer}}.} +is \code{\link[base:integer]{base::as.integer()}}.} } \value{ -Returns a \code{\link[base]{data.frame}} equal to the -\code{\link[base]{class}} of \code{x} with integer columns rather than factor. +Returns a \code{\link[base:data.frame]{base::data.frame()}} equal to the +\code{\link[base:class]{base::class()}} of \code{x} with integer columns rather than factor. } \description{ -Converts a \code{\link[base]{data.frame}} of \code{\link[base]{factor}}s to +Converts a \code{\link[base:data.frame]{base::data.frame()}} of \code{\link[base:factor]{base::factor()}}s to integers. } \examples{ @@ -38,7 +38,7 @@ r_data_frame(n=100, as_integer(2:3) } \seealso{ -\code{\link[wakefield]{r_series}} +\code{\link[=r_series]{r_series()}} } \keyword{integer} \keyword{numeric} diff --git a/man/car.Rd b/man/car.Rd index 80c28ef..17d8ba6 100644 --- a/man/car.Rd +++ b/man/car.Rd @@ -22,7 +22,7 @@ used inside of \code{r_data_frame} or \code{r_list}.} Returns a random vector of car elements. } \description{ -Generate a random vector of cars (see \code{?\link[datasets]{mtcars}}). +Generate a random vector of cars (see \verb{?[mtcars][datasets::mtcars]}). } \examples{ car(10) diff --git a/man/date_stamp.Rd b/man/date_stamp.Rd index c2e2137..9490b28 100644 --- a/man/date_stamp.Rd +++ b/man/date_stamp.Rd @@ -26,7 +26,7 @@ dates are sequential.} arguments are supplied to \code{start}, \code{k}, and \code{by}. The \code{x} argument takes precedence over the other three if \code{!is.null}. Note that \code{start}, \code{k}, and \code{by} work together to make a -vector of dates to sample from. See \code{\link[base]{seq.Date}} for +vector of dates to sample from. See \code{\link[base:seq.Date]{base::seq.Date()}} for additional information.} \item{start}{A date to start the sequence at.} @@ -56,7 +56,7 @@ pie(table(date_stamp(2000, prob = probs(12)))) date_stamp(10, x = seq(as.Date("1980-11-16"), length = 30, by = "1 years")) } \seealso{ -\code{\link[base]{seq.Date}} +\code{\link[base:seq.Date]{base::seq.Date()}} Other variable functions: \code{\link{age}()}, diff --git a/man/dob.Rd b/man/dob.Rd index 0b6c0e6..aaeadf2 100644 --- a/man/dob.Rd +++ b/man/dob.Rd @@ -38,7 +38,7 @@ dates are sequential.} arguments are supplied to \code{start}, \code{k}, and \code{by}. The \code{x} argument takes precedence over the other three if \code{!is.null}. Note that \code{start}, \code{k}, and \code{by} work together to make a -vector of dates to sample from. See \code{\link[base]{seq.Date}} for +vector of dates to sample from. See \code{\link[base:seq.Date]{base::seq.Date()}} for additional information.} \item{start}{A date to start the sequence at.} diff --git a/man/dummy.Rd b/man/dummy.Rd index 0069302..2e968fb 100644 --- a/man/dummy.Rd +++ b/man/dummy.Rd @@ -27,7 +27,7 @@ dummy(100, name = "Var") table(dummy(1000)) } \seealso{ -\code{\link[base]{sample.int}} +\code{\link[base:sample]{base::sample.int()}} Other variable functions: \code{\link{age}()}, diff --git a/man/education.Rd b/man/education.Rd index 120a633..fc42a37 100644 --- a/man/education.Rd +++ b/man/education.Rd @@ -40,19 +40,19 @@ The educational attainments and probabilities used match approximate U.S. educational attainment make-up (http://www.census.gov): \tabular{lr}{ - \bold{ Highest Attainment} \tab \bold{Percent} \cr - No Schooling Completed \tab 1.3 \% \cr - Nursery School to 8th Grade \tab 5 \% \cr - 9th Grade to 12th Grade, No Diploma \tab 8.5 \% \cr - Regular High School Diploma \tab 24.6 \%\cr - GED or Alternative Credential \tab 3.9 \% \cr - Some College, Less than 1 Year \tab 6.4 \% \cr - Some College, 1 or More Years, No Degree \tab 15 \% \cr - Associate's Degree \tab 7.5 \% \cr - Bachelor's Degree \tab 17.6 \%\cr - Master's Degree \tab 7.2 \% \cr - Professional School Degree \tab 1.9 \% \cr - Doctorate Degree \tab 1.2 \% \cr +** Highest Attainment** \tab \strong{Percent} \cr +No Schooling Completed \tab 1.3 \% \cr +Nursery School to 8th Grade \tab 5 \% \cr +9th Grade to 12th Grade, No Diploma \tab 8.5 \% \cr +Regular High School Diploma \tab 24.6 \%\cr +GED or Alternative Credential \tab 3.9 \% \cr +Some College, Less than 1 Year \tab 6.4 \% \cr +Some College, 1 or More Years, No Degree \tab 15 \% \cr +Associate's Degree \tab 7.5 \% \cr +Bachelor's Degree \tab 17.6 \%\cr +Master's Degree \tab 7.2 \% \cr +Professional School Degree \tab 1.9 \% \cr +Doctorate Degree \tab 1.2 \% \cr } } \examples{ diff --git a/man/employment.Rd b/man/employment.Rd index 4a4aab6..9add8c5 100644 --- a/man/employment.Rd +++ b/man/employment.Rd @@ -33,12 +33,12 @@ Generate a random vector of employment statuses. The following arbitrary probabilities are used: \tabular{lr}{ - \bold{ Employment Status} \tab \bold{Percent}\cr - Full Time \tab 60\%\cr - Part Time \tab 10\%\cr - Unemployed \tab 10\%\cr - Retired \tab 10\%\cr - Student \tab 10\%\cr +** Employment Status** \tab \strong{Percent}\cr +Full Time \tab 60\%\cr +Part Time \tab 10\%\cr +Unemployed \tab 10\%\cr +Retired \tab 10\%\cr +Student \tab 10\%\cr } } \examples{ diff --git a/man/eye.Rd b/man/eye.Rd index 303f13e..9aba3cb 100644 --- a/man/eye.Rd +++ b/man/eye.Rd @@ -33,12 +33,12 @@ Generate a random vector of eye colors. The eye colors and probabilities: \tabular{lr}{ - \bold{ Color} \tab \bold{Percent}\cr - Brown \tab 44 \%\cr - Blue \tab 30 \%\cr - Green \tab 13 \%\cr - Hazel \tab 9 \%\cr - Gray \tab 4 \%\cr +** Color** \tab \strong{Percent}\cr +Brown \tab 44 \%\cr +Blue \tab 30 \%\cr +Green \tab 13 \%\cr +Hazel \tab 9 \%\cr +Gray \tab 4 \%\cr } } \examples{ diff --git a/man/grade.Rd b/man/grade.Rd index 73bc9f0..f7e8508 100644 --- a/man/grade.Rd +++ b/man/grade.Rd @@ -25,7 +25,7 @@ attribute. This is used to auto assign names to the column/vector name when used inside of \code{r_data_frame} or \code{r_list}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} } \value{ Returns a random normal vector of grade elements. @@ -42,20 +42,20 @@ Returns a random normal vector of grade elements. The conversion between percent range, letter grade, and GPA is: \tabular{llr}{ - \bold{Percent} \tab \bold{Letter} \tab \bold{GPA}\cr - 97-100 \tab A+ \tab 4.00\cr - 93-96 \tab A \tab 4.00\cr - 90-92 \tab A- \tab 3.67\cr - 87-89 \tab B+ \tab 3.33\cr - 83-86 \tab B \tab 3.00\cr - 80-82 \tab B- \tab 2.67\cr - 77-79 \tab C+ \tab 2.33\cr - 73-76 \tab C \tab 2.00\cr - 70-72 \tab C- \tab 1.67\cr - 67-69 \tab D+ \tab 1.33\cr - 63-66 \tab D \tab 1.00\cr - 60-62 \tab D- \tab 0.67\cr - < 60 \tab F \tab 0.00 +\strong{Percent} \tab \strong{Letter} \tab \strong{GPA}\cr +97-100 \tab A+ \tab 4.00\cr +93-96 \tab A \tab 4.00\cr +90-92 \tab A- \tab 3.67\cr +87-89 \tab B+ \tab 3.33\cr +83-86 \tab B \tab 3.00\cr +80-82 \tab B- \tab 2.67\cr +77-79 \tab C+ \tab 2.33\cr +73-76 \tab C \tab 2.00\cr +70-72 \tab C- \tab 1.67\cr +67-69 \tab D+ \tab 1.33\cr +63-66 \tab D \tab 1.00\cr +60-62 \tab D- \tab 0.67\cr +< 60 \tab F \tab 0.00 } } \examples{ diff --git a/man/group.Rd b/man/group.Rd index c278d55..0b4a9bf 100644 --- a/man/group.Rd +++ b/man/group.Rd @@ -25,7 +25,7 @@ Returns a random factor vector of group (control/treatment) elements. Generate a random vector of binary groups (e.g., control/treatment). } \note{ -If you want > 2 groups see `r_sample_factor`. +If you want > 2 groups see \code{r_sample_factor}. } \examples{ group(10) diff --git a/man/hair.Rd b/man/hair.Rd index 1ba35b0..f452636 100644 --- a/man/hair.Rd +++ b/man/hair.Rd @@ -33,11 +33,11 @@ Generate a random vector of hair colors. The hair colors and probabilities: \tabular{lr}{ - \bold{ Color} \tab \bold{Percent}\cr - Brown \tab 35 \%\cr - Black \tab 28 \%\cr - Blonde \tab 26 \%\cr - Red \tab 11 \%\cr +** Color** \tab \strong{Percent}\cr +Brown \tab 35 \%\cr +Black \tab 28 \%\cr +Blonde \tab 26 \%\cr +Red \tab 11 \%\cr } } \examples{ diff --git a/man/height.Rd b/man/height.Rd index 687cb7f..538f205 100644 --- a/man/height.Rd +++ b/man/height.Rd @@ -51,7 +51,7 @@ replaced with \code{min}.} be replaced with \code{max}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when diff --git a/man/hour.Rd b/man/hour.Rd index 6e5a346..f3dba15 100644 --- a/man/hour.Rd +++ b/man/hour.Rd @@ -32,7 +32,7 @@ hour(20) hour(20, random=TRUE) } \seealso{ -\code{\link[chron]{times}} +\code{\link[chron:dates]{chron::times()}} } \keyword{hour} \keyword{time} diff --git a/man/id.Rd b/man/id.Rd index c35f05f..7d34c91 100644 --- a/man/id.Rd +++ b/man/id.Rd @@ -22,26 +22,26 @@ used inside of \code{r_data_frame} or \code{r_list}.} } \value{ Returns a (optionally random) vector of -\code{\link[base]{character}}/\code{\link[base]{factor}} observations +\code{\link[base:character]{base::character()}}/\code{\link[base:factor]{base::factor()}} observations ID numbers. } \description{ -\code{id} - Generate a sequential \code{\link[base]{character}} vector of +\code{id} - Generate a sequential \code{\link[base:character]{base::character()}} vector of zero-padded identification numbers (IDs). -\code{id_factor} - Generate a sequential \code{\link[base]{factor}} vector +\code{id_factor} - Generate a sequential \code{\link[base:factor]{base::factor()}} vector of zero-padded identification numbers (IDs). } \note{ \code{id} is faster than \code{id_factor}, as the later coerces the -vector to a \code{\link[base]{factor}}. +vector to a \code{\link[base:factor]{base::factor()}}. } \section{Warning}{ - \code{id} uses \code{\link[base]{sprintf}} to generate the -padded ID. Per \code{\link[base]{sprintf}}'s documentation: ``The format + \code{id} uses \code{\link[base:sprintf]{base::sprintf()}} to generate the +padded ID. Per \code{\link[base:sprintf]{base::sprintf()}}'s documentation: ``The format string is passed down the OS's sprintf function...The behaviour on inputs not documented here is 'undefined', which means it is allowed to differ by -platform.'' See \code{\link[base]{sprintf}} for details. +platform.'' See \code{\link[base:sprintf]{base::sprintf()}} for details. } \examples{ @@ -49,7 +49,7 @@ id(1000) r_data_frame(n=21, id) } \seealso{ -\code{\link[base]{sprintf}} +\code{\link[base:sprintf]{base::sprintf()}} } \keyword{id} \keyword{identification} diff --git a/man/income.Rd b/man/income.Rd index dcbc05a..fd30197 100644 --- a/man/income.Rd +++ b/man/income.Rd @@ -11,7 +11,7 @@ income(n, digits = 2, name = "Income") the environment of \code{r_data_frame} or \code{r_list}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when @@ -32,7 +32,7 @@ hist(income(10000)) pie(table(cut(income(10000), 10))) } \seealso{ -\code{\link[base]{gamma}} +\code{\link[base:Special]{base::gamma()}} Other variable functions: \code{\link{age}()}, diff --git a/man/internet_browser.Rd b/man/internet_browser.Rd index 545c1c6..5ba7632 100644 --- a/man/internet_browser.Rd +++ b/man/internet_browser.Rd @@ -30,16 +30,16 @@ Returns a random factor vector of Internet browser elements. Generate a random vector of Internet browser. } \details{ -The browser use and probabilities (from https://gs.statcounter.com/): +The browser use and probabilities (from https://gs.statcounter.com/): \tabular{lr}{ - \bold{ Browser} \tab \bold{Percent} \cr - Chrome \tab 50.27 \%\cr - IE \tab 17.50 \% \cr - Firefox \tab 16.89 \%\cr - Safari \tab 9.94 \% \cr - Opera \tab 1.70 \% \cr - Android \tab 1.32 \% \cr +** Browser** \tab \strong{Percent} \cr +Chrome \tab 50.27 \%\cr +IE \tab 17.50 \% \cr +Firefox \tab 16.89 \%\cr +Safari \tab 9.94 \% \cr +Opera \tab 1.70 \% \cr +Android \tab 1.32 \% \cr } } \examples{ diff --git a/man/interval.Rd b/man/interval.Rd index 3bd26c2..7f3d345 100644 --- a/man/interval.Rd +++ b/man/interval.Rd @@ -27,7 +27,7 @@ into which the vector produced from \code{fun} is to be cut.} labels are constructed using "(a,b]" interval notation. If \code{labels = FALSE}, simple integer codes are returned instead of a factor.} -\item{include.lowest}{logical. If \code{TRUE} an 'x[i]' equal to the lowest +\item{include.lowest}{logical. If \code{TRUE} an \code{x[i]} equal to the lowest (or highest, for \code{right = FALSE}) 'breaks' value should be included.} \item{right}{logical. If \code{TRUE} the intervals will be closed on the @@ -45,10 +45,10 @@ the environment of \code{r_data_frame} or \code{r_list}.} \item{\ldots}{Other arguments passed to \code{fun}.} } \value{ -Returns a \code{\link[base]{cut}} factor vector. +Returns a \code{\link[base:cut]{base::cut()}} factor vector. } \description{ -A wrapper for \code{\link[base]{cut}} that cuts the vector and then adds the +A wrapper for \code{\link[base:cut]{base::cut()}} that cuts the vector and then adds the \code{varname} produced by the original function. } \examples{ @@ -57,7 +57,7 @@ attributes(interval(normal, 4, n=100)) interval(age, 3, n = 1000) } \seealso{ -\code{\link[base]{cut}} +\code{\link[base:cut]{base::cut()}} } \keyword{cut} \keyword{interval} diff --git a/man/iq.Rd b/man/iq.Rd index 19745e0..613bbbf 100644 --- a/man/iq.Rd +++ b/man/iq.Rd @@ -21,7 +21,7 @@ replaced with \code{min}.} be replaced with \code{max}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when diff --git a/man/language.Rd b/man/language.Rd index b53c57c..0a1274e 100644 --- a/man/language.Rd +++ b/man/language.Rd @@ -28,7 +28,7 @@ Returns a random character vector of language elements. } \description{ Generate a random vector of languages from the -\code{\link[wakefield]{presidential_debates_2012}}. +\code{\link[=presidential_debates_2012]{presidential_debates_2012()}}. } \examples{ language(10) diff --git a/man/languages.Rd b/man/languages.Rd index e34caa0..c4e8381 100644 --- a/man/languages.Rd +++ b/man/languages.Rd @@ -16,10 +16,10 @@ https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers. } \details{ \itemize{ - \item Language. The language spoken. - \item N. The number of speakers world-wide. - \item Proportion. The proportion of speakers. - \item Percent. The percentage of speakers. +\item Language. The language spoken. +\item N. The number of speakers world-wide. +\item Proportion. The proportion of speakers. +\item Percent. The percentage of speakers. } } \references{ diff --git a/man/level.Rd b/man/level.Rd index f7f91b7..fd56c5a 100644 --- a/man/level.Rd +++ b/man/level.Rd @@ -41,11 +41,11 @@ Distribution of levels (used in \code{prob}) were taken from New York State' s 2014 assessment report: \url{http://www.p12.nysed.gov/irs/} \tabular{lrr}{ - \bold{ Level} \tab \bold{ELA} \tab \bold{Math}\cr - 1 \tab 31.6\% \tab 29.8\%\cr - 2 \tab 37.3\% \tab 33.3\%\cr - 3 \tab 22.3\% \tab 22.8\%\cr - 4 \tab 8.8\% \tab 14.0\%\cr +** Level** \tab \strong{ELA} \tab \strong{Math}\cr +1 \tab 31.6\% \tab 29.8\%\cr +2 \tab 37.3\% \tab 33.3\%\cr +3 \tab 22.3\% \tab 22.8\%\cr +4 \tab 8.8\% \tab 14.0\%\cr } } \examples{ diff --git a/man/lorem_ipsum.Rd b/man/lorem_ipsum.Rd index c9ed66b..e2c5cc3 100644 --- a/man/lorem_ipsum.Rd +++ b/man/lorem_ipsum.Rd @@ -13,7 +13,7 @@ paragraph(n, ..., name = "Paragraph") \item{n}{The number elements to generate. This can be globally set within the environment of \code{r_data_frame} or \code{r_list}.} -\item{\dots}{Other arguments passed to \code{\link[stringi]{stri_rand_lipsum}}.} +\item{\dots}{Other arguments passed to \code{\link[stringi:stri_rand_lipsum]{stringi::stri_rand_lipsum()}}.} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when @@ -37,7 +37,7 @@ paragraph(10) lorem_ipsum(10, start_lipsum = FALSE) } \seealso{ -\code{\link[stringi]{stri_rand_lipsum}} +\code{\link[stringi:stri_rand_lipsum]{stringi::stri_rand_lipsum()}} Other variable functions: \code{\link{age}()}, diff --git a/man/military.Rd b/man/military.Rd index a8ac211..3ee3c55 100644 --- a/man/military.Rd +++ b/man/military.Rd @@ -34,12 +34,12 @@ The military branches and probabilities used match approximate U.S. military make-up: \tabular{lrr}{ - \bold{ Branch} \tab \bold{N} \tab \bold{Percent} \cr - Army \tab 541,291 \tab 37.9\%\cr - Air Force \tab 333,772 \tab 23.3\%\cr - Navy \tab 317,237 \tab 22.2\%\cr - Marine Corps \tab 195,338 \tab 13.7\%\cr - Coast Guard \tab 42,357 \tab 3.0\%\cr +** Branch** \tab \strong{N} \tab \strong{Percent} \cr +Army \tab 541,291 \tab 37.9\%\cr +Air Force \tab 333,772 \tab 23.3\%\cr +Navy \tab 317,237 \tab 22.2\%\cr +Marine Corps \tab 195,338 \tab 13.7\%\cr +Coast Guard \tab 42,357 \tab 3.0\%\cr } } \examples{ diff --git a/man/minute.Rd b/man/minute.Rd index f7d0a8b..dadadda 100644 --- a/man/minute.Rd +++ b/man/minute.Rd @@ -39,7 +39,7 @@ minute(20, random=TRUE) pie(table(minute(2000, x = seq(0, 59, by = 10)/60, prob = probs(6)))) } \seealso{ -\code{\link[chron]{times}} +\code{\link[chron:dates]{chron::times()}} } \keyword{minute} \keyword{time} diff --git a/man/normal.Rd b/man/normal.Rd index 3091cf7..37645bd 100644 --- a/man/normal.Rd +++ b/man/normal.Rd @@ -36,16 +36,16 @@ attribute. This is used to auto assign names to the column/vector name when used inside of \code{r_data_frame} or \code{r_list}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} } \value{ Returns a random vector of elements. } \description{ -\code{normal} - A wrapper for \code{\link[stats]{rnorm}} that generate a +\code{normal} - A wrapper for \code{\link[stats:Normal]{stats::rnorm()}} that generate a random normal vector. -\code{normal_round} - A wrapper for \code{\link[stats]{rnorm}} that generate +\code{normal_round} - A wrapper for \code{\link[stats:Normal]{stats::rnorm()}} that generate a rounded random normal vector. } \examples{ @@ -54,9 +54,9 @@ hist(normal(10000, 100, 10)) interval(normal, 9, n = 1000) } \seealso{ -\code{\link[stats]{rnorm}} +\code{\link[stats:Normal]{stats::rnorm()}} -\code{\link[base]{round}} +\code{\link[base:Round]{base::round()}} Other variable functions: \code{\link{age}()}, diff --git a/man/peek.Rd b/man/peek.Rd index 419b77d..7b9656e 100644 --- a/man/peek.Rd +++ b/man/peek.Rd @@ -7,7 +7,7 @@ peek(x, n = 10, width = 10, ...) } \arguments{ -\item{x}{A \code{\link[base]{data.frame}} object.} +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}} object.} \item{n}{Number of rows to display.} @@ -20,7 +20,7 @@ Prints a truncated head but invisibly returns \code{x}. } \description{ Convenience function to view all the columns of the head -of a truncated \code{\link[base]{data.frame}}. \code{peek} invisibly returns +of a truncated \code{\link[base:data.frame]{base::data.frame()}}. \code{peek} invisibly returns \code{x}. This makes its use ideal in a \pkg{dplyr}/\pkg{magrittr} pipeline. } \details{ @@ -51,5 +51,5 @@ dat2 peek(dat2) } \seealso{ -\code{\link[utils]{head}} +\code{\link[utils:head]{utils::head()}} } diff --git a/man/plot.tbl_df.Rd b/man/plot.tbl_df.Rd index d50bb86..4c12113 100644 --- a/man/plot.tbl_df.Rd +++ b/man/plot.tbl_df.Rd @@ -9,7 +9,7 @@ \arguments{ \item{x}{The tbl_df object.} -\item{\ldots}{Arguments passed to \code{\link[wakefield]{table_heat}}.} +\item{\ldots}{Arguments passed to \code{\link[=table_heat]{table_heat()}}.} } \description{ Plots a tbl_df object. diff --git a/man/political.Rd b/man/political.Rd index aecccff..00d795c 100644 --- a/man/political.Rd +++ b/man/political.Rd @@ -35,12 +35,12 @@ The political parties and probabilities used match approximate U.S. political make-up of registered voters (2014). The default make up is: \tabular{lrr}{ - \bold{ Party} \tab \bold{N} \tab \bold{Percent} \cr - Democrat \tab 43,140,758 \tab 57.73\% \cr - Republican \tab 30,700,138 \tab 41.08\% \cr - Constitution \tab 367,000 \tab .49\% \cr - Libertarian \tab 278,446 \tab .37\% \cr - Green \tab 246,145 \tab .33\% \cr +** Party** \tab \strong{N} \tab \strong{Percent} \cr +Democrat \tab 43,140,758 \tab 57.73\% \cr +Republican \tab 30,700,138 \tab 41.08\% \cr +Constitution \tab 367,000 \tab .49\% \cr +Libertarian \tab 278,446 \tab .37\% \cr +Green \tab 246,145 \tab .33\% \cr } } \examples{ diff --git a/man/r_data.Rd b/man/r_data.Rd index 8fa2a25..7f8243f 100644 --- a/man/r_data.Rd +++ b/man/r_data.Rd @@ -14,16 +14,16 @@ r_data_theme(n = 100, data_theme = "the_works") \item{data_theme}{A data theme. Currently selections include: \describe{ - \item{the_works}{all available variable functions} - \item{survey}{ID column plus 10 numeric 5-point Likert type response columns} - \item{survey2}{ID column plus 10 5-point Likert type response columns} +\item{the_works}{all available variable functions} +\item{survey}{ID column plus 10 numeric 5-point Likert type response columns} +\item{survey2}{ID column plus 10 5-point Likert type response columns} }} \item{\ldots}{A set of optionally named arguments. Using \pkg{wakefield} variable functions require no name or call parenthesis.} } \value{ -Returns a \code{\link[dplyr]{tbl_df}}. +Returns a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}}. } \description{ \code{r_data} - Generate a data set with pre-set columns selected. @@ -34,19 +34,19 @@ Returns a \code{\link[dplyr]{tbl_df}}. The pre-selected columns include: \itemize{ - \item ID - \item Race - \item Age - \item Sex - \item Hour - \item IQ - \item Height - \item Died +\item ID +\item Race +\item Age +\item Sex +\item Hour +\item IQ +\item Height +\item Died } The user may use \ldots to add additional columns. \code{r_data} is a convenience function to quickly produce a data set. For more specific usage -use the more flexible \code{\link[wakefield]{r_data_frame}} function. +use the more flexible \code{\link[=r_data_frame]{r_data_frame()}} function. } \examples{ r_data() @@ -60,5 +60,5 @@ r_data_theme(, "survey") r_data_theme(, "survey2") } \seealso{ -\code{\link[wakefield]{r_data_frame}} +\code{\link[=r_data_frame]{r_data_frame()}} } diff --git a/man/r_data_frame.Rd b/man/r_data_frame.Rd index a312633..f9ae7b9 100644 --- a/man/r_data_frame.Rd +++ b/man/r_data_frame.Rd @@ -10,21 +10,21 @@ r_data_frame(n, ..., rep.sep = "_") \item{n}{The length to pass to the randomly generated vectors.} \item{rep.sep}{A separator to use for repeated variable names. For example -if the \code{\link[wakefield]{age}} is used three times +if the \code{\link[=age]{age()}} is used three times (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. To turn of this behavior use \code{rep.sep = NULL}. This results in \code{c("Age", "Age.1", "Age.2")} column names in the -\code{\link[base]{data.frame}}.} +\code{\link[base:data.frame]{base::data.frame()}}.} \item{\ldots}{A set of optionally named arguments. Using \pkg{wakefield} variable functions require no name or call parenthesis.} } \value{ -Returns a \code{\link[dplyr]{tbl_df}}. +Returns a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}}. } \description{ -Produce a \code{\link[dplyr]{tbl_df}} data frame that allows the user to +Produce a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}} data frame that allows the user to lazily pass unnamed \pkg{wakefield} variable functions (optionally, without call parenthesis). } @@ -102,10 +102,10 @@ r_data_frame(n=100, https://stackoverflow.com/a/29617983/1000343 } \seealso{ -\code{\link[wakefield]{r_list}}, -\code{\link[wakefield]{r_series}} -\code{\link[wakefield]{r_dummy}} +\code{\link[=r_list]{r_list()}}, +\code{\link[=r_series]{r_series()}} +\code{\link[=r_dummy]{r_dummy()}} } \author{ -Josh O'Brien and Tyler Rinker . +Josh O'Brien and Tyler Rinker \href{mailto:tyler.rinker@gmail.com}{tyler.rinker@gmail.com}. } diff --git a/man/r_dummy.Rd b/man/r_dummy.Rd index 958c0b2..7a70aac 100644 --- a/man/r_dummy.Rd +++ b/man/r_dummy.Rd @@ -16,14 +16,14 @@ r_dummy(fun, n, ..., prefix = FALSE, rep.sep = "_") generated from the factor's categories.} \item{rep.sep}{A separator to use for the variable and category part of names -when \code{prefix = TRUE}. For example if the \code{\link[wakefield]{age}} +when \code{prefix = TRUE}. For example if the \code{\link[=age]{age()}} is used (\code{r_dummy(sex)}), this results in column names \code{c("Sex_Male", "Sex_Female")}.} \item{\ldots}{Additional arguments passed to \code{fun}.} } \value{ -Returns a \code{\link[dplyr]{tbl_df}}. +Returns a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}}. } \description{ Generate random values from a \pkg{wakefield} variable function. @@ -34,8 +34,8 @@ r_dummy(race, 1000) r_dummy(race, 1000, name = "Ethnicity") } \seealso{ -\code{\link[wakefield]{r_list}}, -\code{\link[wakefield]{r_data_frame}}, -\code{\link[wakefield]{r_series}} +\code{\link[=r_list]{r_list()}}, +\code{\link[=r_data_frame]{r_data_frame()}}, +\code{\link[=r_series]{r_series()}} } \keyword{dummy} diff --git a/man/r_insert.Rd b/man/r_insert.Rd index 9230a58..cc6a499 100644 --- a/man/r_insert.Rd +++ b/man/r_insert.Rd @@ -7,18 +7,18 @@ r_insert(x, name = "Inserted") } \arguments{ -\item{x}{A \code{\link[base]{data.frame}} to add a \code{seriesname} +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}} to add a \code{seriesname} attribute (i.e., \code{attributes(x)[["seriesname"]]})} \item{name}{A name to assign to \code{attributes(x)[["seriesname"]]}.} } \value{ -Returns a \code{\link[base]{data.frame}} with a +Returns a \code{\link[base:data.frame]{base::data.frame()}} with a \code{attributes(x)[["seriesname"]]} assigned. } \description{ -Safely insert \code{\link[base]{data.frame}} objects into a -\code{\link[wakefield]{r_data_frame}} or \code{\link[wakefield]{r_list}}. +Safely insert \code{\link[base:data.frame]{base::data.frame()}} objects into a +\code{\link[=r_data_frame]{r_data_frame()}} or \code{\link[=r_list]{r_list()}}. } \examples{ dat <- dplyr::data_frame( @@ -40,6 +40,6 @@ r_list(10, ) } \seealso{ -\code{\link[wakefield]{seriesname}} +\code{\link[=seriesname]{seriesname()}} } \keyword{insert} diff --git a/man/r_list.Rd b/man/r_list.Rd index 9e37e12..f459004 100644 --- a/man/r_list.Rd +++ b/man/r_list.Rd @@ -10,13 +10,13 @@ r_list(n, ..., rep.sep = "_") \item{n}{The length to pass to the randomly generated vectors.} \item{rep.sep}{A separator to use for repeated variable names. For example -if the \code{\link[wakefield]{age}} is used three times +if the \code{\link[=age]{age()}} is used three times (\code{r_list(age, age, age)}), the name "Age" will be assigned to all three vectors in the list. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. To turn of this behavior use \code{rep.sep = NULL}. This results in \code{c("Age", "Age", "Age")} for vector names, leading to \code{c("Age", "Age.1", "Age.2")} if coerced to a -\code{\link[base]{data.frame}}.} +\code{\link[base:data.frame]{base::data.frame()}}.} \item{\ldots}{A set of optionally named arguments. Using \pkg{wakefield} variable functions require no name or call parenthesis.} @@ -25,7 +25,7 @@ variable functions require no name or call parenthesis.} Returns a named list of equal length vectors. } \description{ -Produce a named \code{\link[base]{list}} that allows the user to lazily pass +Produce a named \code{\link[base:list]{base::list()}} that allows the user to lazily pass unnamed \pkg{wakefield} variable functions (optionally, without call parenthesis). } @@ -60,11 +60,11 @@ r_list( https://stackoverflow.com/a/29617983/1000343 } \seealso{ -\code{\link[wakefield]{r_data_frame}}, -\code{\link[wakefield]{r_series}} -\code{\link[wakefield]{r_dummy}} +\code{\link[=r_data_frame]{r_data_frame()}}, +\code{\link[=r_series]{r_series()}} +\code{\link[=r_dummy]{r_dummy()}} } \author{ -Josh O'Brien and Tyler Rinker . +Josh O'Brien and Tyler Rinker \href{mailto:tyler.rinker@gmail.com}{tyler.rinker@gmail.com}. } \keyword{list} diff --git a/man/r_na.Rd b/man/r_na.Rd index d7542b3..1a0d2ac 100644 --- a/man/r_na.Rd +++ b/man/r_na.Rd @@ -7,7 +7,7 @@ r_na(x, cols = -1, prob = 0.05) } \arguments{ -\item{x}{A \code{\link[base]{data.frame}} or \code{\link[base]{list}} to +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}} or \code{\link[base:list]{base::list()}} to randomly replace elements with \code{NA}s.} \item{cols}{Numeric indices of the columns to incude (use \code{-} to exlcude @@ -18,7 +18,7 @@ first column.} \code{NA}.} } \value{ -Returns a \code{\link[base]{data.frame}} or \code{\link[base]{list}} +Returns a \code{\link[base:data.frame]{base::data.frame()}} or \code{\link[base:list]{base::list()}} with random missing values. } \description{ diff --git a/man/r_sample.Rd b/man/r_sample.Rd index 21c155b..ca6de46 100644 --- a/man/r_sample.Rd +++ b/man/r_sample.Rd @@ -31,5 +31,5 @@ r_sample(x = c("B", "W"), prob = c(.7, .3), n = 25, name = "Race") r_sample(25, x = c(TRUE, FALSE)) } \seealso{ -\code{\link[base]{sample}} +\code{\link[base:sample]{base::sample()}} } diff --git a/man/r_sample_binary.Rd b/man/r_sample_binary.Rd index 279be0e..18f1dcb 100644 --- a/man/r_sample_binary.Rd +++ b/man/r_sample_binary.Rd @@ -36,5 +36,5 @@ table(r_sample_binary(1000)) c("B", "W")[r_sample_binary(10)] } \seealso{ -\code{\link[base]{sample.int}} +\code{\link[base:sample]{base::sample.int()}} } diff --git a/man/r_sample_factor.Rd b/man/r_sample_factor.Rd index 7caa428..af2e805 100644 --- a/man/r_sample_factor.Rd +++ b/man/r_sample_factor.Rd @@ -30,5 +30,5 @@ table(r_sample_factor(x = c("Dog", "Cat", "Fish", "Bird"), n=1000)) r_sample_factor(x = c("B", "W"), prob = c(.7, .3), n = 25) } \seealso{ -\code{\link[base]{sample}} +\code{\link[base:sample]{base::sample()}} } diff --git a/man/r_sample_integer.Rd b/man/r_sample_integer.Rd index eda09b4..070c452 100644 --- a/man/r_sample_integer.Rd +++ b/man/r_sample_integer.Rd @@ -31,5 +31,5 @@ r_sample_integer(x = c("B", "W"), prob = c(.7, .3), n = 25, name = "Race") r_sample_integer(25, x = c(TRUE, FALSE)) } \seealso{ -\code{\link[base]{sample}} +\code{\link[base:sample]{base::sample()}} } diff --git a/man/r_sample_logical.Rd b/man/r_sample_logical.Rd index bf9aa47..5c0c567 100644 --- a/man/r_sample_logical.Rd +++ b/man/r_sample_logical.Rd @@ -28,5 +28,5 @@ table(r_sample_logical(1000)) c("B", "W")[r_sample_logical(10)] } \seealso{ -\code{\link[base]{sample}} +\code{\link[base:sample]{base::sample()}} } diff --git a/man/r_sample_ordered.Rd b/man/r_sample_ordered.Rd index 2371b96..69f24ab 100644 --- a/man/r_sample_ordered.Rd +++ b/man/r_sample_ordered.Rd @@ -36,8 +36,8 @@ slices <- c(table(out)) pie(slices, main="Pie Chart of Colors", col = tolower(names(slices))) } \seealso{ -\code{\link[base]{sample}}, -\code{\link[base]{ordered}} +\code{\link[base:sample]{base::sample()}}, +\code{\link[base:factor]{base::ordered()}} } \keyword{factor} \keyword{ordered} diff --git a/man/r_sample_replace.Rd b/man/r_sample_replace.Rd index dea82b9..a7bb27e 100644 --- a/man/r_sample_replace.Rd +++ b/man/r_sample_replace.Rd @@ -34,5 +34,5 @@ r_sample(x = c("B", "W"), prob = c(.7, .3), n = 25, name = "Race") r_sample(25, x = c(TRUE, FALSE)) } \seealso{ -\code{\link[base]{sample}} +\code{\link[base:sample]{base::sample()}} } diff --git a/man/r_series.Rd b/man/r_series.Rd index c0d9be7..a1740b2 100644 --- a/man/r_series.Rd +++ b/man/r_series.Rd @@ -18,22 +18,22 @@ integer.} \item{relate}{Allows the user to specify the relationship between columns. May be a named list of \code{c("operation", "mean", "sd")} or a string of -the form of "fM_sd" where `f` is one of (+, -, *, /), `M` is a mean value, and -`sd` is a standard deviation of the mean value (e.g., \code{"*4_1"}). See -\code{\link[wakefield]{relate}} for details.} +the form of "fM_sd" where \code{f} is one of (+, -, *, /), \code{M} is a mean value, and +\code{sd} is a standard deviation of the mean value (e.g., \code{"*4_1"}). See +\code{\link[=relate]{relate()}} for details.} \item{rep.sep}{A separator to use for repeated variable names. For example -if the \code{\link[wakefield]{age}} is used three times +if the \code{\link[=age]{age()}} is used three times (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}.} \item{\ldots}{Additional arguments passed to \code{fun}.} } \value{ -Returns a \code{\link[dplyr]{tbl_df}}. +Returns a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}}. } \description{ -Produce a \code{\link[dplyr]{tbl_df}} data frame of repeated measures from a +Produce a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}} data frame of repeated measures from a wakefield variable function. } \examples{ @@ -96,7 +96,7 @@ ggplot(dat, aes(x = Time, y = values, color = ID, group = ID)) + \url{https://github.com/trinker/wakefield/issues/1/#issuecomment-96166910} } \seealso{ -\code{\link[wakefield]{r_list}}, -\code{\link[wakefield]{r_data_frame}} -\code{\link[wakefield]{r_dummy}} +\code{\link[=r_list]{r_list()}}, +\code{\link[=r_data_frame]{r_data_frame()}} +\code{\link[=r_dummy]{r_dummy()}} } diff --git a/man/race.Rd b/man/race.Rd index 07aa693..21b2f93 100644 --- a/man/race.Rd +++ b/man/race.Rd @@ -35,15 +35,15 @@ The races and probabilities used match approximate U.S. racial make-up. The default make up is: \tabular{lr}{ - \bold{Race} \tab \bold{Percent}\cr - White \tab 63.70 \%\cr - Hispanic \tab 16.30 \%\cr - Black \tab 12.20 \%\cr - Asian \tab 4.70 \%\cr - Bi-Racial \tab 1.90 \%\cr - Native \tab .70 \%\cr - Other \tab .20 \%\cr - Hawaiian \tab .15 \%\cr +\strong{Race} \tab \strong{Percent}\cr +White \tab 63.70 \%\cr +Hispanic \tab 16.30 \%\cr +Black \tab 12.20 \%\cr +Asian \tab 4.70 \%\cr +Bi-Racial \tab 1.90 \%\cr +Native \tab .70 \%\cr +Other \tab .20 \%\cr +Hawaiian \tab .15 \%\cr } } \examples{ diff --git a/man/relate.Rd b/man/relate.Rd index 4f57b2d..731ae03 100644 --- a/man/relate.Rd +++ b/man/relate.Rd @@ -32,10 +32,10 @@ by.} \item{sd}{The amount of variability to allow in \code{mean}. Setting to 0 will constrain the operation between x_(n - 1) column and x_n to be exactly -the mean value (see \bold{Examples} for a demonstration).} +the mean value (see \strong{Examples} for a demonstration).} \item{rep.sep}{A separator to use for repeated variable names. For example -if the \code{\link[wakefield]{age}} is used three times +if the \code{\link[=age]{age()}} is used three times (\code{r_data_frame(age, age, age)}), the name "Age" will be assigned to all three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}.} @@ -43,7 +43,7 @@ three columns. The results in column names \code{c("Age_1", "Age_2", "Age_3")}. of significant digits in \code{x}.} } \value{ -Returns a \code{\link[dplyr]{tbl_df}}. +Returns a \code{\link[dplyr:tbl_df]{dplyr::tbl_df()}}. } \description{ Generate columns that are related. @@ -71,7 +71,7 @@ relate(time_stamp(10), 6) relate(rep(100, 10), 6, "Reaction", "-") } \seealso{ -\code{\link[wakefield]{r_series}} +\code{\link[=r_series]{r_series()}} } \keyword{correlate} \keyword{related} diff --git a/man/religion.Rd b/man/religion.Rd index af334fd..b966149 100644 --- a/man/religion.Rd +++ b/man/religion.Rd @@ -31,19 +31,19 @@ Generate a random vector of religion. } \details{ The religion and probabilities used match approximate world -religion make-up (from \href{https://www.pewforum.org/}{Pew Research Center}). +religion make-up (from \href{https://www.pewforum.org/}{Pew Research Center}). The default make up is: \tabular{lrr}{ - \bold{ Religion} \tab \bold{N} \tab \bold{Percent} \cr - Christian \tab 2,173,260,000 \tab 31.48 \%\cr - Muslim \tab 1,599,280,000 \tab 23.16 \%\cr - None \tab 1,127,000,000 \tab 16.32 \%\cr - Hindu \tab 1,034,620,000 \tab 14.99 \%\cr - Buddhist \tab 489,030,000 \tab 7.08 \% \cr - Folk \tab 406,140,000 \tab 5.88 \% \cr - Other \tab 59,330,000 \tab .86 \% \cr - Jewish \tab 15,670,000 \tab .23 \% \cr +** Religion** \tab \strong{N} \tab \strong{Percent} \cr +Christian \tab 2,173,260,000 \tab 31.48 \%\cr +Muslim \tab 1,599,280,000 \tab 23.16 \%\cr +None \tab 1,127,000,000 \tab 16.32 \%\cr +Hindu \tab 1,034,620,000 \tab 14.99 \%\cr +Buddhist \tab 489,030,000 \tab 7.08 \% \cr +Folk \tab 406,140,000 \tab 5.88 \% \cr +Other \tab 59,330,000 \tab .86 \% \cr +Jewish \tab 15,670,000 \tab .23 \% \cr } } \examples{ diff --git a/man/sat.Rd b/man/sat.Rd index 3f18e87..f3eda08 100644 --- a/man/sat.Rd +++ b/man/sat.Rd @@ -21,7 +21,7 @@ replaced with \code{min}.} be replaced with \code{max}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when diff --git a/man/second.Rd b/man/second.Rd index 22f652f..da17a66 100644 --- a/man/second.Rd +++ b/man/second.Rd @@ -39,7 +39,7 @@ second(20, random=TRUE) pie(table(second(2000, x = seq(0, 59, by = 10)/3600, prob = probs(6)))) } \seealso{ -\code{\link[chron]{times}} +\code{\link[chron:dates]{chron::times()}} } \keyword{second} \keyword{time} diff --git a/man/sentence.Rd b/man/sentence.Rd index 61fc55a..4f91fa2 100644 --- a/man/sentence.Rd +++ b/man/sentence.Rd @@ -28,7 +28,7 @@ Returns a random character vector of sentence elements. } \description{ Generate a random vector of sentences from the -\code{\link[wakefield]{presidential_debates_2012}}. +\code{\link[=presidential_debates_2012]{presidential_debates_2012()}}. } \examples{ sentence(10) diff --git a/man/seriesname.Rd b/man/seriesname.Rd index f6cb465..4fed07b 100644 --- a/man/seriesname.Rd +++ b/man/seriesname.Rd @@ -7,18 +7,18 @@ seriesname(x, name) } \arguments{ -\item{x}{A \code{\link[base]{data.frame}} to add a \code{seriesname} +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}} to add a \code{seriesname} attribute (i.e., \code{attributes(x)[["seriesname"]]})} \item{name}{A name to assign to \code{attributes(x)[["seriesname"]]}.} } \value{ -Returns a \code{\link[base]{data.frame}} with a +Returns a \code{\link[base:data.frame]{base::data.frame()}} with a \code{attributes(x)[["seriesname"]]} assigned. } \description{ Adds \code{attributes(x)[["seriesname"]]} attribute to a -\code{\link[base]{data.frame}}. +\code{\link[base:data.frame]{base::data.frame()}}. } \examples{ seriesname(mtcars, "Cars") diff --git a/man/sex.Rd b/man/sex.Rd index 7c3fd08..55c842e 100644 --- a/man/sex.Rd +++ b/man/sex.Rd @@ -42,9 +42,9 @@ The genders and probabilities used match approximate gender make-up: \tabular{lr}{ - \bold{Gender} \tab \bold{Percent}\cr - Male \tab 51.22 \%\cr - Female \tab 48.78 \%\cr +\bold{Gender} \tab \bold{Percent}\cr +Male \tab 51.22 \%\cr +Female \tab 48.78 \%\cr } } \examples{ diff --git a/man/sex_inclusive.Rd b/man/sex_inclusive.Rd index 60b1dde..29590b1 100644 --- a/man/sex_inclusive.Rd +++ b/man/sex_inclusive.Rd @@ -45,10 +45,10 @@ The genders and probabilities used match approximate gender make-up: \tabular{lr}{ - \bold{Gender} \tab \bold{Percent}\cr - Male \tab 51.07 \%\cr - Female \tab 48.63 \%\cr - Trans* \tab 0.30 \%\cr +\bold{Gender} \tab \bold{Percent}\cr +Male \tab 51.07 \%\cr +Female \tab 48.63 \%\cr +Trans* \tab 0.30 \%\cr } } \examples{ @@ -110,7 +110,7 @@ Other variable functions: \code{\link{zip_code}()} } \author{ -Matthew Sigal +Matthew Sigal \href{mailto:msigal@yorku.ca}{msigal@yorku.ca} } \concept{variable functions} \keyword{gender} diff --git a/man/speed.Rd b/man/speed.Rd index 3252f51..e684956 100644 --- a/man/speed.Rd +++ b/man/speed.Rd @@ -43,7 +43,7 @@ replaced with \code{min}.} be replaced with \code{max}.} \item{digits}{Integer indicating the number of decimal places to be used. -Negative values are allowed (see \code{\link[base]{round}}).} +Negative values are allowed (see \code{\link[base:Round]{base::round()}}).} \item{name}{The name to assign to the output vector's \code{varname} attribute. This is used to auto assign names to the column/vector name when diff --git a/man/state.Rd b/man/state.Rd index e4ac14e..e3ce1a9 100644 --- a/man/state.Rd +++ b/man/state.Rd @@ -32,57 +32,57 @@ Generate a random factor vector of states. \details{ The state populations and probabilities: \tabular{lrr}{ - \bold{ State} \tab \bold{Population} \tab \bold{Percent} \cr - California \tab 37,253,956 \tab 12.09 \%\cr - Texas \tab 25,145,561 \tab 8.16 \% \cr - New York \tab 19,378,102 \tab 6.29 \% \cr - Florida \tab 18,801,310 \tab 6.10 \% \cr - Illinois \tab 12,830,632 \tab 4.16 \% \cr - Pennsylvania \tab 12,702,379 \tab 4.12 \% \cr - Ohio \tab 11,536,504 \tab 3.74 \% \cr - Michigan \tab 9,883,640 \tab 3.21 \% \cr - Georgia \tab 9,687,653 \tab 3.14 \% \cr - North Carolina \tab 9,535,483 \tab 3.09 \% \cr - New Jersey \tab 8,791,894 \tab 2.85 \% \cr - Virginia \tab 8,001,024 \tab 2.60 \% \cr - Washington \tab 6,724,540 \tab 2.18 \% \cr - Massachusetts \tab 6,547,629 \tab 2.12 \% \cr - Indiana \tab 6,483,802 \tab 2.10 \% \cr - Arizona \tab 6,392,017 \tab 2.07 \% \cr - Tennessee \tab 6,346,105 \tab 2.06 \% \cr - Missouri \tab 5,988,927 \tab 1.94 \% \cr - Maryland \tab 5,773,552 \tab 1.87 \% \cr - Wisconsin \tab 5,686,986 \tab 1.85 \% \cr - Minnesota \tab 5,303,925 \tab 1.72 \% \cr - Colorado \tab 5,029,196 \tab 1.63 \% \cr - Alabama \tab 4,779,736 \tab 1.55 \% \cr - South Carolina \tab 4,625,364 \tab 1.50 \% \cr - Louisiana \tab 4,533,372 \tab 1.47 \% \cr - Kentucky \tab 4,339,367 \tab 1.41 \% \cr - Oregon \tab 3,831,074 \tab 1.24 \% \cr - Oklahoma \tab 3,751,351 \tab 1.22 \% \cr - Connecticut \tab 3,574,097 \tab 1.16 \% \cr - Iowa \tab 3,046,355 \tab .99 \% \cr - Mississippi \tab 2,967,297 \tab .96 \% \cr - Arkansas \tab 2,915,918 \tab .95 \% \cr - Kansas \tab 2,853,118 \tab .93 \% \cr - Utah \tab 2,763,885 \tab .90 \% \cr - Nevada \tab 2,700,551 \tab .88 \% \cr - New Mexico \tab 2,059,179 \tab .67 \% \cr - West Virginia \tab 1,852,994 \tab .60 \% \cr - Nebraska \tab 1,826,341 \tab .59 \% \cr - Idaho \tab 1,567,582 \tab .51 \% \cr - Hawaii \tab 1,360,301 \tab .44 \% \cr - Maine \tab 1,328,361 \tab .43 \% \cr - New Hampshire \tab 1,316,470 \tab .43 \% \cr - Rhode Island \tab 1,052,567 \tab .34 \% \cr - Montana \tab 989,415 \tab .32 \% \cr - Delaware \tab 897,934 \tab .29 \% \cr - South Dakota \tab 814,180 \tab .26 \% \cr - Alaska \tab 710,231 \tab .23 \% \cr - North Dakota \tab 672,591 \tab .22 \% \cr - Vermont \tab 625,741 \tab .20 \% \cr - Wyoming \tab 563,626 \tab .18 \% \cr +\bold{ State} \tab \bold{Population} \tab \bold{Percent} \cr +California \tab 37,253,956 \tab 12.09 \%\cr +Texas \tab 25,145,561 \tab 8.16 \% \cr +New York \tab 19,378,102 \tab 6.29 \% \cr +Florida \tab 18,801,310 \tab 6.10 \% \cr +Illinois \tab 12,830,632 \tab 4.16 \% \cr +Pennsylvania \tab 12,702,379 \tab 4.12 \% \cr +Ohio \tab 11,536,504 \tab 3.74 \% \cr +Michigan \tab 9,883,640 \tab 3.21 \% \cr +Georgia \tab 9,687,653 \tab 3.14 \% \cr +North Carolina \tab 9,535,483 \tab 3.09 \% \cr +New Jersey \tab 8,791,894 \tab 2.85 \% \cr +Virginia \tab 8,001,024 \tab 2.60 \% \cr +Washington \tab 6,724,540 \tab 2.18 \% \cr +Massachusetts \tab 6,547,629 \tab 2.12 \% \cr +Indiana \tab 6,483,802 \tab 2.10 \% \cr +Arizona \tab 6,392,017 \tab 2.07 \% \cr +Tennessee \tab 6,346,105 \tab 2.06 \% \cr +Missouri \tab 5,988,927 \tab 1.94 \% \cr +Maryland \tab 5,773,552 \tab 1.87 \% \cr +Wisconsin \tab 5,686,986 \tab 1.85 \% \cr +Minnesota \tab 5,303,925 \tab 1.72 \% \cr +Colorado \tab 5,029,196 \tab 1.63 \% \cr +Alabama \tab 4,779,736 \tab 1.55 \% \cr +South Carolina \tab 4,625,364 \tab 1.50 \% \cr +Louisiana \tab 4,533,372 \tab 1.47 \% \cr +Kentucky \tab 4,339,367 \tab 1.41 \% \cr +Oregon \tab 3,831,074 \tab 1.24 \% \cr +Oklahoma \tab 3,751,351 \tab 1.22 \% \cr +Connecticut \tab 3,574,097 \tab 1.16 \% \cr +Iowa \tab 3,046,355 \tab .99 \% \cr +Mississippi \tab 2,967,297 \tab .96 \% \cr +Arkansas \tab 2,915,918 \tab .95 \% \cr +Kansas \tab 2,853,118 \tab .93 \% \cr +Utah \tab 2,763,885 \tab .90 \% \cr +Nevada \tab 2,700,551 \tab .88 \% \cr +New Mexico \tab 2,059,179 \tab .67 \% \cr +West Virginia \tab 1,852,994 \tab .60 \% \cr +Nebraska \tab 1,826,341 \tab .59 \% \cr +Idaho \tab 1,567,582 \tab .51 \% \cr +Hawaii \tab 1,360,301 \tab .44 \% \cr +Maine \tab 1,328,361 \tab .43 \% \cr +New Hampshire \tab 1,316,470 \tab .43 \% \cr +Rhode Island \tab 1,052,567 \tab .34 \% \cr +Montana \tab 989,415 \tab .32 \% \cr +Delaware \tab 897,934 \tab .29 \% \cr +South Dakota \tab 814,180 \tab .26 \% \cr +Alaska \tab 710,231 \tab .23 \% \cr +North Dakota \tab 672,591 \tab .22 \% \cr +Vermont \tab 625,741 \tab .20 \% \cr +Wyoming \tab 563,626 \tab .18 \% \cr } } \examples{ diff --git a/man/state_populations.Rd b/man/state_populations.Rd index 942bfd7..56c91af 100644 --- a/man/state_populations.Rd +++ b/man/state_populations.Rd @@ -15,9 +15,9 @@ A dataset containing U.S. state populations. } \details{ \itemize{ - \item State. The 50 U.S. states. - \item Population. Population of state. - \item Proportion. Proportion of total U.S. population. +\item State. The 50 U.S. states. +\item Population. Population of state. +\item Proportion. Proportion of total U.S. population. } } \references{ diff --git a/man/string.Rd b/man/string.Rd index 7d5876c..37f048a 100644 --- a/man/string.Rd +++ b/man/string.Rd @@ -29,7 +29,7 @@ Generate a random vector of strings. string(10) } \seealso{ -\code{\link[stringi]{stri_rand_strings}} +\code{\link[stringi:stri_rand_strings]{stringi::stri_rand_strings()}} Other variable functions: \code{\link{age}()}, diff --git a/man/table_heat.Rd b/man/table_heat.Rd index d054a4d..c26d0b0 100644 --- a/man/table_heat.Rd +++ b/man/table_heat.Rd @@ -13,14 +13,14 @@ table_heat( ) } \arguments{ -\item{x}{A \code{\link[base]{data.frame}}.} +\item{x}{A \code{\link[base:data.frame]{base::data.frame()}}.} -\item{flip}{logical. If \code{TRUE} the \code{\link[base]{data.frame}} is +\item{flip}{logical. If \code{TRUE} the \code{\link[base:data.frame]{base::data.frame()}} is flipped so that the columns are on the y axis and observations on the x axis. This is useful when there are many columns or the column names are longer.} \item{palette}{A palette to chose from. See -\code{\link[ggplot2]{scale_fill_brewer}} for more. These choices should +\code{\link[ggplot2:scale_brewer]{ggplot2::scale_fill_brewer()}} for more. These choices should exceed the number of unique column types. Use \code{NULL} to use \pkg{ggplot2}'s default color scheme.} @@ -29,13 +29,13 @@ document construction such as \pkg{knitr} or \pkg{rmarkdown}.} \item{sep}{A separator to use between column types. Column types are determined via \code{sapply(x, class)}. When multiple types are present -these are collapsed. By default the \code{\\n} is used.} +these are collapsed. By default \verb{\\n} is used.} } \value{ Returns a \pkg{ggplot2} object. } \description{ -Generate a heat map of column types from a \code{\link[base]{data.frame}}. +Generate a heat map of column types from a \code{\link[base:data.frame]{base::data.frame()}}. } \details{ By default coumn names retain their order. Column types are ordered diff --git a/man/time_stamp.Rd b/man/time_stamp.Rd index b127a95..768023f 100644 --- a/man/time_stamp.Rd +++ b/man/time_stamp.Rd @@ -39,6 +39,6 @@ time_stamp(20, random=TRUE) pie(table(time_stamp(2000, x = seq(0, 23, by = 2), prob = probs(12)))) } \seealso{ -\code{\link[chron]{times}} +\code{\link[chron:dates]{chron::times()}} } \keyword{time} diff --git a/man/variables.Rd b/man/variables.Rd index 2f9e9b3..dc3e277 100644 --- a/man/variables.Rd +++ b/man/variables.Rd @@ -12,23 +12,23 @@ character vector), \code{"matrix"}, or \code{"list"}; or the user may extract a specific type from a list using: \code{"character"}, \code{"date"}, \code{"factor"}, \code{"integer"}, \code{"logical"}, \code{"numeric"}, \code{"ordered factor"}. Setting -\code{type = TRUE} will also return a \code{\link[base]{list}}. -The \code{\link[base]{list}} version breaks the variable functions into +\code{type = TRUE} will also return a \code{\link[base:list]{base::list()}}. +The \code{\link[base:list]{base::list()}} version breaks the variable functions into classes. Specifying a specific class (e.g., \code{type = "numeric"} will list only variable functions that yield a numeric output.} \item{ncols}{The number of columns to use if \code{type = "matrix"}.} -\item{\ldots}{Other arguments passed to \code{\link[base]{matrix}}.} +\item{\ldots}{Other arguments passed to \code{\link[base:matrix]{base::matrix()}}.} } \value{ -Returns a \code{\link[base]{character}} vector, -\code{\link[base]{matrix}} of all variable functions, or a -\code{\link[base]{list}} of variable functions by type. +Returns a \code{\link[base:character]{base::character()}} vector, +\code{\link[base:matrix]{base::matrix()}} of all variable functions, or a +\code{\link[base:list]{base::list()}} of variable functions by type. } \description{ See a listing of all available variable functions for use in -\code{\link[wakefield]{r_data_frame}} or \code{\link[wakefield]{r_list}}. +\code{\link[=r_data_frame]{r_data_frame()}} or \code{\link[=r_list]{r_list()}}. } \examples{ variables() From db5a0ed1eafb2dfd6c41b080ae5add891879404c Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:29:57 -0500 Subject: [PATCH 7/9] Add basic check action --- .Rbuildignore | 1 + .github/.gitignore | 1 + .github/workflows/R-CMD-check.yaml | 49 +++ README.Rmd | 12 +- README.md | 624 +++++++++++++++------------- tools/figure/unnamed-chunk-17-1.png | Bin 31307 -> 221397 bytes 6 files changed, 387 insertions(+), 300 deletions(-) create mode 100644 .github/.gitignore create mode 100644 .github/workflows/R-CMD-check.yaml diff --git a/.Rbuildignore b/.Rbuildignore index 56b614f..0347e2f 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -30,3 +30,4 @@ check funs.R inst/figure Thumbs.db ^wakefield\.Rproj$ +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml new file mode 100644 index 0000000..52c2b27 --- /dev/null +++ b/.github/workflows/R-CMD-check.yaml @@ -0,0 +1,49 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +name: R-CMD-check + +jobs: + R-CMD-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + strategy: + fail-fast: false + matrix: + config: + - {os: macOS-latest, r: 'release'} + - {os: windows-latest, r: 'release'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + + steps: + - uses: actions/checkout@v2 + + - uses: r-lib/actions/setup-pandoc@v2 + + - 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@v2 + with: + extra-packages: any::rcmdcheck + needs: check + + - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true diff --git a/README.Rmd b/README.Rmd index 3304cfd..b8b5ef4 100644 --- a/README.Rmd +++ b/README.Rmd @@ -1,10 +1,6 @@ --- title: "wakefield" -date: "`r format(Sys.time(), '%d %B, %Y')`" -output: - md_document: - toc: true - toc_depth: 4 +output: github_document --- ```{r, echo=FALSE} @@ -28,12 +24,15 @@ knitr::opts_knit$set(self.contained = TRUE, cache = FALSE) knitr::opts_chunk$set(fig.path = "tools/figure/") ``` + + [![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/0.1.0/active.svg)](https://www.repostatus.org/#active) -[![Build Status](https://travis-ci.org/trinker/wakefield.svg?branch=master)](https://travis-ci.org/trinker/wakefield) +[![R-CMD-check](https://github.com/trinker/wakefield/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/trinker/wakefield/actions/workflows/R-CMD-check.yaml) [![Coverage Status](https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_0.svg)](https://coveralls.io/github/trinker/wakefield) [![DOI](https://zenodo.org/badge/5398/trinker/wakefield.svg)](https://dx.doi.org/10.5281/zenodo.17172) [![](https://cranlogs.r-pkg.org/badges/wakefield)](https://cran.r-project.org/package=wakefield) `r verbadge` + **wakefield** is designed to quickly generate random data sets. The user passes `n` (number of rows) and predefined vectors to the `r_data_frame` function to produce a `dplyr::tbl_df` object. @@ -56,6 +55,7 @@ pacman::p_load(dplyr, tidyr, ggplot2) # Contact You are welcome to: + * submit suggestions and bug-reports at: * send a pull request on: * compose a friendly e-mail to: diff --git a/README.md b/README.md index 00b06a2..638659b 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,26 @@ -wakefield -============ +wakefield +================ + + [![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/0.1.0/active.svg)](https://www.repostatus.org/#active) -[![Build -Status](https://travis-ci.org/trinker/wakefield.svg?branch=master)](https://travis-ci.org/trinker/wakefield) +[![R-CMD-check](https://github.com/trinker/wakefield/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/trinker/wakefield/actions/workflows/R-CMD-check.yaml) [![Coverage Status](https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_0.svg)](https://coveralls.io/github/trinker/wakefield) [![DOI](https://zenodo.org/badge/5398/trinker/wakefield.svg)](https://dx.doi.org/10.5281/zenodo.17172) [![](https://cranlogs.r-pkg.org/badges/wakefield)](https://cran.r-project.org/package=wakefield) + + **wakefield** is designed to quickly generate random data sets. The user passes `n` (number of rows) and predefined vectors to the `r_data_frame` function to produce a `dplyr::tbl_df` object. ![](tools/wakefield_logo/r_wakefield.png) -Table of Contents -============ - -- [Installation](#installation) -- [Contact](#contact) -- [Demonstration](#demonstration) - - [Getting Started](#getting-started) - - [Random Missing Observations](#random-missing-observations) - - [Repeated Measures & Time Series](#repeated-measures-time-series) - - [Related Series](#related-series) - - [Some Examples With Variation](#some-examples-with-variation) - - [Adjust Correlations](#adjust-correlations) - - [Visualize the Relationship](#visualize-the-relationship) - - [Expanded Dummy Coding](#expanded-dummy-coding) - - [Visualizing Column Types](#visualizing-column-types) - - -Installation -============ +# Installation To download the development version of **wakefield**: @@ -45,25 +30,24 @@ ball](https://github.com/trinker/wakefield/tarball/master), decompress and run `R CMD INSTALL` on it, or use the **pacman** package to install the development version: - if (!require("pacman")) install.packages("pacman") - pacman::p_load_gh("trinker/wakefield") - pacman::p_load(dplyr, tidyr, ggplot2) +``` r +if (!require("pacman")) install.packages("pacman") +pacman::p_load_gh("trinker/wakefield") +pacman::p_load(dplyr, tidyr, ggplot2) +``` -Contact -======= +# Contact -You are welcome to: \* submit suggestions and bug-reports at: -https://github.com/trinker/wakefield/issues -\* send a pull request on: -https://github.com/trinker/wakefield/ -\* compose a friendly e-mail to: - +You are welcome to: -Demonstration -============= +- submit suggestions and bug-reports at: + +- send a pull request on: +- compose a friendly e-mail to: -Getting Started ---------------- +# Demonstration + +## Getting Started The `r_data_frame` function (random data frame) takes `n` (the number of rows) and any number of variables (columns). These columns are typically @@ -73,15 +57,21 @@ length, allowing the user to lazily pass unnamed functions (optionally, without call parenthesis). The column name is hidden as a `varname` attribute. For example here we see the `race` variable function: - race(n=10) +``` r +race(n=10) +``` - ## [1] Bi-Racial White Bi-Racial Native White White White Asian White Hispanic + ## [1] Black White Hispanic White White White Hispanic White + ## [9] Hispanic Hispanic ## Levels: White Hispanic Black Asian Bi-Racial Native Other Hawaiian - attributes(race(n=10)) +``` r +attributes(race(n=10)) +``` ## $levels - ## [1] "White" "Hispanic" "Black" "Asian" "Bi-Racial" "Native" "Other" "Hawaiian" + ## [1] "White" "Hispanic" "Black" "Asian" "Bi-Racial" "Native" + ## [7] "Other" "Hawaiian" ## ## $class ## [1] "variable" "factor" @@ -93,66 +83,70 @@ When this variable is used inside of `r_data_frame` the `varname` is used as a column name. Additionally, the `n` argument is not set within variable functions but is set once in `r_data_frame`: - r_data_frame( - n = 500, - race - ) +``` r +r_data_frame( + n = 500, + race +) +``` - ## Warning: `tbl_df()` is deprecated as of dplyr 1.0.0. + ## Warning: `tbl_df()` was deprecated in dplyr 1.0.0. ## Please use `tibble::as_tibble()` instead. - ## This warning is displayed once every 8 hours. - ## Call `lifecycle::last_warnings()` to see where this warning was generated. - - ## # A tibble: 500 x 1 - ## Race - ## - ## 1 White - ## 2 White - ## 3 White - ## 4 White - ## 5 Black - ## 6 Black - ## 7 White - ## 8 White - ## 9 Hispanic - ## 10 White - ## # ... with 490 more rows + ## ℹ The deprecated feature was likely used in the wakefield package. + ## Please report the issue at <]8;;https://github.com/trinker/wakefield/issueshttps://github.com/trinker/wakefield/issues]8;;>. + + ## # A tibble: 500 × 1 + ## Race + ## + ## 1 White + ## 2 White + ## 3 White + ## 4 White + ## 5 Asian + ## 6 Bi-Racial + ## 7 Black + ## 8 White + ## 9 White + ## 10 White + ## # … with 490 more rows The power of `r_data_frame` is apparent when we use many modular variable functions: - r_data_frame( - n = 500, - id, - race, - age, - sex, - hour, - iq, - height, - died - ) - - ## # A tibble: 500 x 8 - ## ID Race Age Sex Hour IQ Height Died - ## - ## 1 001 White 25 Female 00:00:00 93 69 TRUE - ## 2 002 White 80 Male 00:00:00 87 59 FALSE - ## 3 003 White 60 Female 00:00:00 119 74 TRUE - ## 4 004 Bi-Racial 54 Female 00:00:00 109 72 FALSE - ## 5 005 White 75 Female 00:00:00 106 70 FALSE - ## 6 006 White 54 Male 00:00:00 89 67 TRUE - ## 7 007 Hispanic 67 Male 00:00:00 94 73 TRUE - ## 8 008 Bi-Racial 86 Female 00:00:00 100 65 TRUE - ## 9 009 Hispanic 56 Male 00:00:00 92 76 FALSE - ## 10 010 Hispanic 52 Female 00:00:00 104 71 FALSE - ## # ... with 490 more rows +``` r +r_data_frame( + n = 500, + id, + race, + age, + sex, + hour, + iq, + height, + died +) +``` + + ## # A tibble: 500 × 8 + ## ID Race Age Sex Hour IQ Height Died + ## + ## 1 001 Asian 27 Female 00:00:00 94 73 FALSE + ## 2 002 White 45 Male 00:00:00 87 76 FALSE + ## 3 003 White 24 Female 00:00:00 107 73 FALSE + ## 4 004 Hispanic 48 Male 00:00:00 100 79 TRUE + ## 5 005 Black 49 Male 00:00:00 84 65 FALSE + ## 6 006 Black 48 Male 00:00:00 90 66 TRUE + ## 7 007 White 35 Female 00:00:00 107 62 TRUE + ## 8 008 White 62 Female 00:00:00 104 61 FALSE + ## 9 009 Hispanic 72 Female 00:00:00 117 71 FALSE + ## 10 010 White 72 Male 00:30:00 89 73 TRUE + ## # … with 490 more rows There are 49 **wakefield** based variable functions to chose from, spanning **R**’s various data types (see `?variables` for details). - - + + @@ -213,7 +207,7 @@ area dummy @@ -332,141 +326,149 @@ However, the user may also pass their own vector producing functions or vectors to `r_data_frame`. Those with an `n` argument can be set by `r_data_frame`: - r_data_frame( - n = 500, - id, - Scoring = rnorm, - Smoker = valid, - race, - age, - sex, - hour, - iq, - height, - died - ) - - ## # A tibble: 500 x 10 +``` r +r_data_frame( + n = 500, + id, + Scoring = rnorm, + Smoker = valid, + race, + age, + sex, + hour, + iq, + height, + died +) +``` + + ## # A tibble: 500 × 10 ## ID Scoring Smoker Race Age Sex Hour IQ Height Died ## - ## 1 001 0.833 FALSE White 20 Female 00:00:00 92 69 TRUE - ## 2 002 -0.529 TRUE Hispanic 83 Female 00:00:00 99 74 TRUE - ## 3 003 -0.704 TRUE Hispanic 24 Male 00:00:00 115 62 TRUE - ## 4 004 -0.839 TRUE Asian 19 Female 00:00:00 113 69 TRUE - ## 5 005 0.606 TRUE White 70 Male 00:00:00 95 68 FALSE - ## 6 006 1.46 FALSE Other 45 Female 00:00:00 110 78 FALSE - ## 7 007 -0.681 TRUE Black 47 Female 00:00:00 98 64 TRUE - ## 8 008 0.541 FALSE White 88 Male 00:30:00 75 70 TRUE - ## 9 009 -0.294 FALSE Hispanic 89 Male 00:30:00 104 63 FALSE - ## 10 010 0.0749 FALSE Hispanic 74 Female 00:30:00 105 69 TRUE - ## # ... with 490 more rows - - r_data_frame( - n = 500, - id, - age, age, age, - grade, grade, grade - ) - - ## # A tibble: 500 x 7 + ## 1 001 1.97 FALSE Hispanic 51 Male 00:00:00 104 63 FALSE + ## 2 002 0.548 FALSE White 57 Female 00:00:00 101 74 FALSE + ## 3 003 0.0675 FALSE Asian 67 Female 00:00:00 105 68 FALSE + ## 4 004 0.470 TRUE Black 64 Female 00:00:00 108 67 FALSE + ## 5 005 1.23 FALSE White 72 Male 00:00:00 84 61 TRUE + ## 6 006 0.622 TRUE Hispanic 39 Male 00:00:00 105 67 FALSE + ## 7 007 -2.06 FALSE Hispanic 48 Male 00:00:00 103 69 TRUE + ## 8 008 -1.03 TRUE White 53 Female 00:00:00 119 72 FALSE + ## 9 009 -0.940 TRUE White 88 Female 00:00:00 95 70 FALSE + ## 10 010 0.499 FALSE White 69 Male 00:00:00 104 70 TRUE + ## # … with 490 more rows + +``` r +r_data_frame( + n = 500, + id, + age, age, age, + grade, grade, grade +) +``` + + ## # A tibble: 500 × 7 ## ID Age_1 Age_2 Age_3 Grade_1 Grade_2 Grade_3 ## - ## 1 001 67 24 89 82.4 86.8 90.6 - ## 2 002 55 76 27 87.3 85.4 89.8 - ## 3 003 60 61 22 82.2 87 90.1 - ## 4 004 50 19 56 96.4 86.6 95.6 - ## 5 005 83 77 71 88.8 87.5 84.4 - ## 6 006 55 71 76 87.3 96.5 86.5 - ## 7 007 88 36 75 92.1 91.6 93.4 - ## 8 008 71 48 81 87.9 91.4 80.9 - ## 9 009 76 78 21 86.9 93.6 84.3 - ## 10 010 49 68 47 85.5 93 86.6 - ## # ... with 490 more rows + ## 1 001 35 87 89 91.1 84.5 92.1 + ## 2 002 85 80 20 86.6 91.7 81.2 + ## 3 003 35 69 47 87.5 90.3 83.9 + ## 4 004 38 24 89 84.1 89.5 89.3 + ## 5 005 82 84 64 85.6 90.7 85.4 + ## 6 006 59 78 86 87 90.2 93.2 + ## 7 007 66 85 36 89 84.1 88.1 + ## 8 008 32 34 70 89.4 95.1 89.4 + ## 9 009 63 56 54 84.8 89.8 89.9 + ## 10 010 33 86 69 86.4 84.8 85.5 + ## # … with 490 more rows While passing variable functions to `r_data_frame` without call parenthesis is handy, the user may wish to set arguments. This can be done through call parenthesis as we do with `data.frame` or `dplyr::data_frame`: - r_data_frame( - n = 500, - id, - Scoring = rnorm, - Smoker = valid, - `Reading(mins)` = rpois(lambda=20), - race, - age(x = 8:14), - sex, - hour, - iq, - height(mean=50, sd = 10), - died - ) - - ## # A tibble: 500 x 11 - ## ID Scoring Smoker `Reading(mins)` Race Age Sex Hour IQ Height Died - ## - ## 1 001 2.48 FALSE 10 White 9 Male 00:00:00 93 44 TRUE - ## 2 002 0.566 FALSE 14 Hispanic 10 Male 00:00:00 116 58 FALSE - ## 3 003 -0.563 FALSE 19 Hispanic 8 Female 00:00:00 97 64 TRUE - ## 4 004 0.0187 TRUE 19 White 9 Male 00:00:00 104 58 TRUE - ## 5 005 -0.462 FALSE 17 Hispanic 11 Male 00:00:00 96 53 FALSE - ## 6 006 -1.13 FALSE 17 White 10 Male 00:00:00 91 66 TRUE - ## 7 007 -0.673 TRUE 15 White 13 Female 00:00:00 99 61 FALSE - ## 8 008 0.164 TRUE 22 White 11 Male 00:00:00 106 47 FALSE - ## 9 009 -0.227 FALSE 21 White 12 Female 00:00:00 101 54 TRUE - ## 10 010 0.762 TRUE 22 White 8 Male 00:00:00 107 50 FALSE - ## # ... with 490 more rows - -Random Missing Observations ---------------------------- +``` r +r_data_frame( + n = 500, + id, + Scoring = rnorm, + Smoker = valid, + `Reading(mins)` = rpois(lambda=20), + race, + age(x = 8:14), + sex, + hour, + iq, + height(mean=50, sd = 10), + died +) +``` + + ## # A tibble: 500 × 11 + ## ID Scoring Smoker Reading(min…¹ Race Age Sex Hour IQ Height Died + ## + ## 1 001 -1.85 TRUE 22 White 8 Male 00:0… 104 41 FALSE + ## 2 002 1.13 TRUE 21 White 14 Male 00:0… 109 42 TRUE + ## 3 003 -0.554 FALSE 30 White 13 Fema… 00:0… 116 49 TRUE + ## 4 004 1.47 TRUE 24 Black 14 Fema… 00:0… 109 44 TRUE + ## 5 005 0.407 TRUE 18 White 13 Fema… 00:0… 105 47 FALSE + ## 6 006 -0.0635 TRUE 20 Hisp… 8 Fema… 00:0… 102 59 FALSE + ## 7 007 0.740 TRUE 22 Asian 13 Fema… 00:0… 96 57 FALSE + ## 8 008 1.59 TRUE 10 White 9 Fema… 00:3… 108 43 FALSE + ## 9 009 1.95 FALSE 13 White 9 Fema… 00:3… 75 50 TRUE + ## 10 010 -0.206 FALSE 17 White 10 Male 00:3… 104 48 FALSE + ## # … with 490 more rows, and abbreviated variable name ¹​`Reading(mins)` + +## Random Missing Observations Often data contains missing values. **wakefield** allows the user to add a proportion of missing values per column/vector via the `r_na` (random `NA`). This works nicely within a **dplyr**/**magrittr** `%>%` *then* pipeline: - r_data_frame( - n = 30, - id, - race, - age, - sex, - hour, - iq, - height, - died, - Scoring = rnorm, - Smoker = valid - ) %>% - r_na(prob=.4) - - ## # A tibble: 30 x 10 - ## ID Race Age Sex Hour IQ Height Died Scoring Smoker - ## - ## 1 01 Hispanic 24 Female 01:30:00 92 70 NA NA NA - ## 2 02 White NA Female NA NA FALSE 0.696 TRUE - ## 3 03 Hispanic NA Female 02:00:00 107 68 FALSE -0.113 TRUE - ## 4 04 Black 29 Female 93 75 TRUE -1.64 TRUE - ## 5 05 43 Female 03:30:00 NA NA NA -0.705 FALSE - ## 6 06 Black NA 04:00:00 93 NA TRUE NA NA - ## 7 07 Hispanic 60 NA NA TRUE NA NA - ## 8 08 Hispanic NA NA NA TRUE NA FALSE - ## 9 09 34 05:30:00 NA 70 NA -1.44 TRUE - ## 10 10 White 88 NA NA NA NA NA - ## # ... with 20 more rows - -Repeated Measures & Time Series -------------------------------- +``` r +r_data_frame( + n = 30, + id, + race, + age, + sex, + hour, + iq, + height, + died, + Scoring = rnorm, + Smoker = valid +) %>% + r_na(prob=.4) +``` + + ## # A tibble: 30 × 10 + ## ID Race Age Sex Hour IQ Height Died Scoring Smoker + ## + ## 1 01 Black 75 02:30:00 106 70 TRUE NA NA + ## 2 02 White NA NA 71 FALSE -0.236 FALSE + ## 3 03 White 29 123 65 NA NA FALSE + ## 4 04 Black 56 Female 07:00:00 105 65 FALSE -0.210 TRUE + ## 5 05 NA Male 99 68 FALSE NA FALSE + ## 6 06 White 88 08:00:00 NA NA FALSE 0.509 FALSE + ## 7 07 White 19 Female 08:00:00 NA 69 TRUE 0.124 FALSE + ## 8 08 White NA 08:00:00 107 63 FALSE -1.51 FALSE + ## 9 09 25 Female 09:00:00 102 NA TRUE NA TRUE + ## 10 10 58 Male 96 75 TRUE -0.465 NA + ## # … with 20 more rows + +## Repeated Measures & Time Series The `r_series` function allows the user to pass a single **wakefield** function and dictate how many columns (`j`) to produce. - set.seed(10) +``` r +set.seed(10) - r_series(likert, j = 3, n=10) +r_series(likert, j = 3, n=10) +``` - ## # A tibble: 10 x 3 + ## # A tibble: 10 × 3 ## Likert_1 Likert_2 Likert_3 ## * ## 1 Neutral Agree Agree @@ -487,11 +489,13 @@ column name prefixes. This can be accomplished via the variable function’s `name` argument. Both of these features are demonstrated here. - set.seed(10) +``` r +set.seed(10) - as_integer(r_series(likert, j = 5, n=10, name = "Item")) +as_integer(r_series(likert, j = 5, n=10, name = "Item")) +``` - ## # A tibble: 10 x 5 + ## # A tibble: 10 × 5 ## Item_1 Item_2 Item_3 Item_4 Item_5 ## ## 1 3 4 4 4 5 @@ -507,16 +511,18 @@ here. `r_series` can be used within a `r_data_frame` as well. - set.seed(10) +``` r +set.seed(10) - r_data_frame(n=100, - id, - age, - sex, - r_series(likert, 3, name = "Question") - ) +r_data_frame(n=100, + id, + age, + sex, + r_series(likert, 3, name = "Question") +) +``` - ## # A tibble: 100 x 6 + ## # A tibble: 100 × 6 ## ID Age Sex Question_1 Question_2 Question_3 ## ## 1 001 26 Male Strongly Agree Disagree Disagree @@ -529,18 +535,20 @@ here. ## 8 008 59 Female Neutral Strongly Agree Strongly Disagree ## 9 009 88 Male Agree Agree Agree ## 10 010 51 Male Agree Disagree Neutral - ## # ... with 90 more rows + ## # … with 90 more rows - set.seed(10) +``` r +set.seed(10) - r_data_frame(n=100, - id, - age, - sex, - r_series(likert, 5, name = "Item", integer = TRUE) - ) +r_data_frame(n=100, + id, + age, + sex, + r_series(likert, 5, name = "Item", integer = TRUE) +) +``` - ## # A tibble: 100 x 8 + ## # A tibble: 100 × 8 ## ID Age Sex Item_1 Item_2 Item_3 Item_4 Item_5 ## ## 1 001 26 Male 5 2 2 4 5 @@ -553,7 +561,7 @@ here. ## 8 008 59 Female 3 5 1 4 1 ## 9 009 88 Male 4 4 4 3 2 ## 10 010 51 Male 4 2 3 1 3 - ## # ... with 90 more rows + ## # … with 90 more rows ### Related Series @@ -562,9 +570,9 @@ The user can also create related series via the `relate` argument in columns. `relate` may be a named list of or a short hand string of the form of `"fM_sd"` where: -- `f` is one of (+, -, \*, /) -- `M` is a mean value -- `sd` is a standard deviation of the mean value +- `f` is one of (+, -, \*, /) +- `M` is a mean value +- `sd` is a standard deviation of the mean value For example you may use `relate = "*4_1"`. If `relate = NULL` no relationship is generated between columns. I will use the short hand @@ -572,9 +580,11 @@ string form here. #### Some Examples With Variation - r_series(grade, j = 5, n = 100, relate = "+1_6") +``` r +r_series(grade, j = 5, n = 100, relate = "+1_6") +``` - ## # A tibble: 100 x 5 + ## # A tibble: 100 × 5 ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 ## * ## 1 90.0 98.7 98.6 104.6 114.1 @@ -587,11 +597,13 @@ string form here. ## 8 86.7 88.6 90.3 89.0 83.8 ## 9 86.1 84.1 88.9 90.1 72.6 ## 10 86.4 92.3 88.5 94.6 99.0 - ## # ... with 90 more rows + ## # … with 90 more rows - r_series(age, 5, 100, relate = "+5_0") +``` r +r_series(age, 5, 100, relate = "+5_0") +``` - ## # A tibble: 100 x 5 + ## # A tibble: 100 × 5 ## Age_1 Age_2 Age_3 Age_4 Age_5 ## * ## 1 83 88 93 98 103 @@ -604,11 +616,13 @@ string form here. ## 8 31 36 41 46 51 ## 9 81 86 91 96 101 ## 10 50 55 60 65 70 - ## # ... with 90 more rows + ## # … with 90 more rows - r_series(likert, 5, 100, name ="Item", relate = "-.5_.1") +``` r +r_series(likert, 5, 100, name ="Item", relate = "-.5_.1") +``` - ## # A tibble: 100 x 5 + ## # A tibble: 100 × 5 ## Item_1 Item_2 Item_3 Item_4 Item_5 ## * ## 1 1 0 -1 -1 -2 @@ -621,11 +635,13 @@ string form here. ## 8 1 0 -1 -2 -2 ## 9 3 2 1 1 1 ## 10 1 0 0 -1 -2 - ## # ... with 90 more rows + ## # … with 90 more rows - r_series(grade, j = 5, n = 100, relate = "*1.05_.1") +``` r +r_series(grade, j = 5, n = 100, relate = "*1.05_.1") +``` - ## # A tibble: 100 x 5 + ## # A tibble: 100 × 5 ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 ## * ## 1 90.8 90.80 99.880 109.8680 109.8680 @@ -638,13 +654,15 @@ string form here. ## 8 92.7 83.43 91.773 110.1276 121.1404 ## 9 84.9 93.39 93.390 102.7290 113.0019 ## 10 84.7 84.70 93.170 93.1700 111.8040 - ## # ... with 90 more rows + ## # … with 90 more rows #### Adjust Correlations Use the `sd` command to adjust correlations. - round(cor(r_series(grade, 8, 10, relate = "+1_2")), 2) +``` r +round(cor(r_series(grade, 8, 10, relate = "+1_2")), 2) +``` ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 Grade_6 Grade_7 Grade_8 ## Grade_1 1.00 0.84 0.57 0.41 0.31 0.30 0.16 0.15 @@ -656,7 +674,9 @@ Use the `sd` command to adjust correlations. ## Grade_7 0.16 0.52 0.77 0.76 0.83 0.93 1.00 0.95 ## Grade_8 0.15 0.50 0.71 0.66 0.79 0.92 0.95 1.00 - round(cor(r_series(grade, 8, 10, relate = "+1_0")), 2) +``` r +round(cor(r_series(grade, 8, 10, relate = "+1_0")), 2) +``` ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 Grade_6 Grade_7 Grade_8 ## Grade_1 1 1 1 1 1 1 1 1 @@ -668,7 +688,9 @@ Use the `sd` command to adjust correlations. ## Grade_7 1 1 1 1 1 1 1 1 ## Grade_8 1 1 1 1 1 1 1 1 - round(cor(r_series(grade, 8, 10, relate = "+1_20")), 2) +``` r +round(cor(r_series(grade, 8, 10, relate = "+1_20")), 2) +``` ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 Grade_6 Grade_7 Grade_8 ## Grade_1 1.00 -0.11 0.14 -0.21 -0.42 -0.29 -0.30 -0.27 @@ -680,7 +702,9 @@ Use the `sd` command to adjust correlations. ## Grade_7 -0.30 0.23 0.70 0.76 0.85 0.91 1.00 0.93 ## Grade_8 -0.27 0.51 0.81 0.87 0.79 0.89 0.93 1.00 - round(cor(r_series(grade, 8, 10, relate = "+15_20")), 2) +``` r +round(cor(r_series(grade, 8, 10, relate = "+15_20")), 2) +``` ## Grade_1 Grade_2 Grade_3 Grade_4 Grade_5 Grade_6 Grade_7 Grade_8 ## Grade_1 1.00 0.48 0.47 0.63 0.58 0.66 0.35 0.18 @@ -694,22 +718,30 @@ Use the `sd` command to adjust correlations. #### Visualize the Relationship - dat <- r_data_frame(12, - name, - r_series(grade, 100, relate = "+1_6") - ) +``` r +dat <- r_data_frame(12, + name, + r_series(grade, 100, relate = "+1_6") +) + +dat %>% + gather(Time, Grade, -c(Name)) %>% + mutate(Time = as.numeric(gsub("\\D", "", Time))) %>% + ggplot(aes(x = Time, y = Grade, color = Name, group = Name)) + + geom_line(size=.8) + + theme_bw() +``` - dat %>% - gather(Time, Grade, -c(Name)) %>% - mutate(Time = as.numeric(gsub("\\D", "", Time))) %>% - ggplot(aes(x = Time, y = Grade, color = Name, group = Name)) + - geom_line(size=.8) + - theme_bw() + ## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0. + ## Please use `linewidth` instead. + ## ℹ The deprecated feature was likely used in the ggplot2 package. + ## Please report the issue at <]8;;https://github.com/tidyverse/ggplot2/issueshttps://github.com/tidyverse/ggplot2/issues]8;;>. -![](tools/figure/unnamed-chunk-17-1.png) + ## Warning in panel_params$guide: partial match of 'guide' to 'guides' -Expanded Dummy Coding ---------------------- +![](tools/figure/unnamed-chunk-17-1.png) + +## Expanded Dummy Coding The user may wish to expand a `factor` into `j` dummy coded columns. The `r_dummy` function expands a factor into `j` columns and works similar @@ -717,15 +749,17 @@ to the `r_series` function. The user may wish to use the original factor name as the prefix to the `j` columns. Setting `prefix = TRUE` within `r_dummy` accomplishes this. - set.seed(10) - r_data_frame(n=100, - id, - age, - r_dummy(sex, prefix = TRUE), - r_dummy(political) - ) - - ## # A tibble: 100 x 8 +``` r +set.seed(10) +r_data_frame(n=100, + id, + age, + r_dummy(sex, prefix = TRUE), + r_dummy(political) +) +``` + + ## # A tibble: 100 × 8 ## ID Age Sex_Male Sex_Female Democrat Republican Libertarian Green ## ## 1 001 26 1 0 0 0 1 0 @@ -738,30 +772,32 @@ name as the prefix to the `j` columns. Setting `prefix = TRUE` within ## 8 008 59 0 1 0 1 0 0 ## 9 009 88 1 0 0 1 0 0 ## 10 010 51 1 0 0 1 0 0 - ## # ... with 90 more rows + ## # … with 90 more rows -Visualizing Column Types ------------------------- +## Visualizing Column Types It is helpful to see the column types and `NA`s as a visualization. The `table_heat` (also the `plot` method assigned to `tbl_df` as well) can provide visual glimpse of data types and missing cells. - set.seed(10) - - r_data_frame(n=100, - id, - dob, - animal, - grade, grade, - death, - dummy, - grade_letter, - gender, - paragraph, - sentence - ) %>% - r_na() %>% - plot(palette = "Set1") - -![](tools/figure/unnamed-chunk-19-1.png) +``` r +set.seed(10) + +r_data_frame(n=100, + id, + dob, + animal, + grade, grade, + death, + dummy, + grade_letter, + gender, + paragraph, + sentence +) %>% + r_na() %>% + plot(palette = "Set1") +``` + + ## Warning in seq.Date(start, length = k, by = by): partial argument match of + ## 'length' to 'length.out' diff --git a/tools/figure/unnamed-chunk-17-1.png b/tools/figure/unnamed-chunk-17-1.png index f4a75da8005daacf93dfa83d42a7a9c73fe29849..5fca9e0b1fcce2781f78ca233b292144d5c4c162 100644 GIT binary patch literal 221397 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 z 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

Dpp$W@R2=@%l`EH5{F}{X{hY2`zu(9e{ra@S} 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 Date: Mon, 3 Oct 2022 11:30:37 -0500 Subject: [PATCH 8/9] Fix partial argument warnings --- R/date_stamp.R | 2 +- R/dob.R | 2 +- README.md | 135 ++++++++++++++++++++++++------------------------- 3 files changed, 67 insertions(+), 72 deletions(-) diff --git a/R/date_stamp.R b/R/date_stamp.R index 890e96f..29642b8 100644 --- a/R/date_stamp.R +++ b/R/date_stamp.R @@ -35,7 +35,7 @@ date_stamp <- function(n, random = FALSE, x = NULL, start = Sys.Date(), k = 12, by = "-1 months", prob = NULL, name = "Date"){ if (is.null(x)){ - x <- seq(start, length = k, by = by) + x <- seq(start, length.out = k, by = by) } if (!inherits(x, c("Date", "POSIXct", "POSIXt"))) warning("`x`may not a date vector") diff --git a/R/dob.R b/R/dob.R index 6444119..949bdd9 100644 --- a/R/dob.R +++ b/R/dob.R @@ -17,7 +17,7 @@ dob <- function(n, random = TRUE, x = NULL, start = Sys.Date() - 365*15, k = 365*2, by = "1 days", prob = NULL, name = "DOB"){ if (is.null(x)){ - x <- seq(start, length = k, by = by) + x <- seq(start, length.out = k, by = by) } if (!inherits(x, c("Date", "POSIXct", "POSIXt"))) warning("`x`may not a date vector") diff --git a/README.md b/README.md index 638659b..9205b9f 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ attribute. For example here we see the `race` variable function: race(n=10) ``` - ## [1] Black White Hispanic White White White Hispanic White - ## [9] Hispanic Hispanic + ## [1] White Black White White White Hispanic White White + ## [9] Black Hispanic ## Levels: White Hispanic Black Asian Bi-Racial Native Other Hawaiian ``` r @@ -90,24 +90,19 @@ r_data_frame( ) ``` - ## Warning: `tbl_df()` was deprecated in dplyr 1.0.0. - ## Please use `tibble::as_tibble()` instead. - ## ℹ The deprecated feature was likely used in the wakefield package. - ## Please report the issue at <]8;;https://github.com/trinker/wakefield/issueshttps://github.com/trinker/wakefield/issues]8;;>. - ## # A tibble: 500 × 1 ## Race ## - ## 1 White - ## 2 White - ## 3 White + ## 1 Hispanic + ## 2 Hispanic + ## 3 Hispanic ## 4 White - ## 5 Asian - ## 6 Bi-Racial - ## 7 Black + ## 5 Bi-Racial + ## 6 Hispanic + ## 7 White ## 8 White ## 9 White - ## 10 White + ## 10 Hispanic ## # … with 490 more rows The power of `r_data_frame` is apparent when we use many modular @@ -130,23 +125,23 @@ r_data_frame( ## # A tibble: 500 × 8 ## ID Race Age Sex Hour IQ Height Died ## - ## 1 001 Asian 27 Female 00:00:00 94 73 FALSE - ## 2 002 White 45 Male 00:00:00 87 76 FALSE - ## 3 003 White 24 Female 00:00:00 107 73 FALSE - ## 4 004 Hispanic 48 Male 00:00:00 100 79 TRUE - ## 5 005 Black 49 Male 00:00:00 84 65 FALSE - ## 6 006 Black 48 Male 00:00:00 90 66 TRUE - ## 7 007 White 35 Female 00:00:00 107 62 TRUE - ## 8 008 White 62 Female 00:00:00 104 61 FALSE - ## 9 009 Hispanic 72 Female 00:00:00 117 71 FALSE - ## 10 010 White 72 Male 00:30:00 89 73 TRUE + ## 1 001 White 22 Female 00:00:00 120 63 TRUE + ## 2 002 Hispanic 66 Female 00:00:00 120 70 TRUE + ## 3 003 White 56 Male 00:00:00 114 68 TRUE + ## 4 004 Hispanic 24 Female 00:00:00 105 71 FALSE + ## 5 005 Black 49 Male 00:00:00 93 67 FALSE + ## 6 006 Native 35 Male 00:30:00 99 67 TRUE + ## 7 007 White 65 Male 00:30:00 98 71 FALSE + ## 8 008 White 22 Male 00:30:00 83 69 TRUE + ## 9 009 White 21 Male 00:30:00 98 77 FALSE + ## 10 010 White 80 Male 00:30:00 103 60 TRUE ## # … with 490 more rows There are 49 **wakefield** based variable functions to chose from, spanning **R**’s various data types (see `?variables` for details). - +

@@ -168,7 +162,7 @@ hair military -sex\_inclusive +sex_inclusive
-internet\_browser +internet_browser normal @@ -292,19 +286,19 @@ year
-date\_stamp +date_stamp -grade\_level +grade_level -lorem\_ipsum +lorem_ipsum sentence -zip\_code +zip_code
@@ -345,16 +340,16 @@ r_data_frame( ## # A tibble: 500 × 10 ## ID Scoring Smoker Race Age Sex Hour IQ Height Died ## - ## 1 001 1.97 FALSE Hispanic 51 Male 00:00:00 104 63 FALSE - ## 2 002 0.548 FALSE White 57 Female 00:00:00 101 74 FALSE - ## 3 003 0.0675 FALSE Asian 67 Female 00:00:00 105 68 FALSE - ## 4 004 0.470 TRUE Black 64 Female 00:00:00 108 67 FALSE - ## 5 005 1.23 FALSE White 72 Male 00:00:00 84 61 TRUE - ## 6 006 0.622 TRUE Hispanic 39 Male 00:00:00 105 67 FALSE - ## 7 007 -2.06 FALSE Hispanic 48 Male 00:00:00 103 69 TRUE - ## 8 008 -1.03 TRUE White 53 Female 00:00:00 119 72 FALSE - ## 9 009 -0.940 TRUE White 88 Female 00:00:00 95 70 FALSE - ## 10 010 0.499 FALSE White 69 Male 00:00:00 104 70 TRUE + ## 1 001 1.08 TRUE White 36 Female 00:00:00 90 77 TRUE + ## 2 002 -1.23 TRUE White 83 Female 00:00:00 90 68 FALSE + ## 3 003 -1.09 TRUE White 66 Male 00:00:00 88 69 TRUE + ## 4 004 -1.37 TRUE White 82 Male 00:00:00 111 68 FALSE + ## 5 005 1.90 TRUE White 67 Male 00:00:00 95 66 TRUE + ## 6 006 -0.308 FALSE Asian 84 Female 00:00:00 90 67 FALSE + ## 7 007 0.714 FALSE Hispanic 38 Female 00:00:00 108 75 TRUE + ## 8 008 -0.0386 TRUE Hispanic 45 Male 00:00:00 95 66 TRUE + ## 9 009 -0.140 TRUE White 23 Male 00:30:00 105 75 TRUE + ## 10 010 1.84 TRUE White 83 Female 00:30:00 109 72 TRUE ## # … with 490 more rows ``` r @@ -369,16 +364,16 @@ r_data_frame( ## # A tibble: 500 × 7 ## ID Age_1 Age_2 Age_3 Grade_1 Grade_2 Grade_3 ## - ## 1 001 35 87 89 91.1 84.5 92.1 - ## 2 002 85 80 20 86.6 91.7 81.2 - ## 3 003 35 69 47 87.5 90.3 83.9 - ## 4 004 38 24 89 84.1 89.5 89.3 - ## 5 005 82 84 64 85.6 90.7 85.4 - ## 6 006 59 78 86 87 90.2 93.2 - ## 7 007 66 85 36 89 84.1 88.1 - ## 8 008 32 34 70 89.4 95.1 89.4 - ## 9 009 63 56 54 84.8 89.8 89.9 - ## 10 010 33 86 69 86.4 84.8 85.5 + ## 1 001 51 33 50 92.1 86.1 90.9 + ## 2 002 62 37 26 85.1 84.4 84.5 + ## 3 003 30 21 35 81.3 84.9 79.9 + ## 4 004 23 21 82 83.8 98.2 85.4 + ## 5 005 42 75 81 89.6 89.1 87.4 + ## 6 006 36 62 25 98.3 90.5 89.4 + ## 7 007 41 52 29 89.3 86.6 95.6 + ## 8 008 83 24 51 84.6 85.9 82.1 + ## 9 009 44 48 34 86.4 79.5 83.4 + ## 10 010 34 80 32 82.4 92 88.8 ## # … with 490 more rows While passing variable functions to `r_data_frame` without call @@ -406,16 +401,16 @@ r_data_frame( ## # A tibble: 500 × 11 ## ID Scoring Smoker Reading(min…¹ Race Age Sex Hour IQ Height Died ## - ## 1 001 -1.85 TRUE 22 White 8 Male 00:0… 104 41 FALSE - ## 2 002 1.13 TRUE 21 White 14 Male 00:0… 109 42 TRUE - ## 3 003 -0.554 FALSE 30 White 13 Fema… 00:0… 116 49 TRUE - ## 4 004 1.47 TRUE 24 Black 14 Fema… 00:0… 109 44 TRUE - ## 5 005 0.407 TRUE 18 White 13 Fema… 00:0… 105 47 FALSE - ## 6 006 -0.0635 TRUE 20 Hisp… 8 Fema… 00:0… 102 59 FALSE - ## 7 007 0.740 TRUE 22 Asian 13 Fema… 00:0… 96 57 FALSE - ## 8 008 1.59 TRUE 10 White 9 Fema… 00:3… 108 43 FALSE - ## 9 009 1.95 FALSE 13 White 9 Fema… 00:3… 75 50 TRUE - ## 10 010 -0.206 FALSE 17 White 10 Male 00:3… 104 48 FALSE + ## 1 001 -2.13 FALSE 21 Asian 10 Male 00:0… 98 42 TRUE + ## 2 002 1.80 FALSE 20 Asian 12 Fema… 00:0… 107 44 FALSE + ## 3 003 -1.05 FALSE 19 White 11 Fema… 00:0… 93 49 FALSE + ## 4 004 -0.832 TRUE 24 Black 8 Male 00:0… 90 57 TRUE + ## 5 005 1.36 TRUE 10 White 9 Male 00:0… 102 47 TRUE + ## 6 006 -0.940 TRUE 20 Black 11 Male 00:0… 108 50 FALSE + ## 7 007 0.214 TRUE 23 White 14 Male 00:0… 124 40 TRUE + ## 8 008 -0.492 FALSE 26 White 12 Male 00:0… 92 55 TRUE + ## 9 009 -0.309 FALSE 17 Hisp… 11 Fema… 00:0… 80 42 FALSE + ## 10 010 -0.312 TRUE 26 White 13 Male 00:0… 96 65 TRUE ## # … with 490 more rows, and abbreviated variable name ¹​`Reading(mins)` ## Random Missing Observations @@ -445,16 +440,16 @@ r_data_frame( ## # A tibble: 30 × 10 ## ID Race Age Sex Hour IQ Height Died Scoring Smoker ## - ## 1 01 Black 75 02:30:00 106 70 TRUE NA NA - ## 2 02 White NA NA 71 FALSE -0.236 FALSE - ## 3 03 White 29 123 65 NA NA FALSE - ## 4 04 Black 56 Female 07:00:00 105 65 FALSE -0.210 TRUE - ## 5 05 NA Male 99 68 FALSE NA FALSE - ## 6 06 White 88 08:00:00 NA NA FALSE 0.509 FALSE - ## 7 07 White 19 Female 08:00:00 NA 69 TRUE 0.124 FALSE - ## 8 08 White NA 08:00:00 107 63 FALSE -1.51 FALSE - ## 9 09 25 Female 09:00:00 102 NA TRUE NA TRUE - ## 10 10 58 Male 96 75 TRUE -0.465 NA + ## 1 01 White 33 02:00:00 NA 64 NA NA FALSE + ## 2 02 Black 34 Female 03:00:00 NA NA FALSE NA FALSE + ## 3 03 White NA Male 85 NA TRUE NA NA + ## 4 04 79 Female 97 62 TRUE -0.832 TRUE + ## 5 05 Black NA Female 05:00:00 102 NA NA NA NA + ## 6 06 62 Female 119 NA FALSE NA TRUE + ## 7 07 81 Female 08:30:00 93 NA FALSE NA FALSE + ## 8 08 64 Female 09:00:00 99 70 TRUE -0.944 TRUE + ## 9 09 White 31 Male NA 65 FALSE -0.0715 TRUE + ## 10 10 White NA 10:30:00 95 75 NA NA NA ## # … with 20 more rows ## Repeated Measures & Time Series @@ -468,6 +463,11 @@ set.seed(10) r_series(likert, j = 3, n=10) ``` + ## Warning: `tbl_df()` was deprecated in dplyr 1.0.0. + ## Please use `tibble::as_tibble()` instead. + ## ℹ The deprecated feature was likely used in the wakefield package. + ## Please report the issue at <]8;;https://github.com/trinker/wakefield/issueshttps://github.com/trinker/wakefield/issues]8;;>. + ## # A tibble: 10 × 3 ## Likert_1 Likert_2 Likert_3 ## * @@ -737,8 +737,6 @@ dat %>% ## ℹ The deprecated feature was likely used in the ggplot2 package. ## Please report the issue at <]8;;https://github.com/tidyverse/ggplot2/issueshttps://github.com/tidyverse/ggplot2/issues]8;;>. - ## Warning in panel_params$guide: partial match of 'guide' to 'guides' - ![](tools/figure/unnamed-chunk-17-1.png) ## Expanded Dummy Coding @@ -798,6 +796,3 @@ r_data_frame(n=100, r_na() %>% plot(palette = "Set1") ``` - - ## Warning in seq.Date(start, length = k, by = by): partial argument match of - ## 'length' to 'length.out' From 2ab425f415c3dc6e9b524a41573708c1ffef5125 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 3 Oct 2022 11:32:12 -0500 Subject: [PATCH 9/9] Make readme more reproducible --- README.Rmd | 5 +- README.md | 133 ++++++++++++++++++++++++++--------------------------- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/README.Rmd b/README.Rmd index b8b5ef4..b709aa9 100644 --- a/README.Rmd +++ b/README.Rmd @@ -12,7 +12,7 @@ library(pacman) # verbadge <- sprintf('Version

', ver, ver) verbadge <- '' p_load(dplyr, wakefield, knitr, tidyr, ggplot2) -```` +``` ```{r, echo=FALSE} knit_hooks$set(htmlcap = function(before, options, envir) { @@ -22,6 +22,7 @@ knit_hooks$set(htmlcap = function(before, options, envir) { }) knitr::opts_knit$set(self.contained = TRUE, cache = FALSE) knitr::opts_chunk$set(fig.path = "tools/figure/") +set.seed(1) ``` @@ -104,7 +105,7 @@ p_load(pander, xtable) variables("matrix", ncol=5) %>% xtable() %>% print(type = 'html', include.colnames = FALSE, include.rownames = FALSE, - html.table.attributes = '') + html.table.attributes = '', timestamp = NULL) #matrix(c(sprintf("`%s`", vect), blanks), ncol=4) %>% # pandoc.table(format = "markdown", caption = "Available variable functions.") diff --git a/README.md b/README.md index 9205b9f..a5d2b4b 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ attribute. For example here we see the `race` variable function: race(n=10) ``` - ## [1] White Black White White White Hispanic White White - ## [9] Black Hispanic + ## [1] White White White Black White Black Asian Hispanic + ## [9] White White ## Levels: White Hispanic Black Asian Bi-Racial Native Other Hawaiian ``` r @@ -91,18 +91,18 @@ r_data_frame( ``` ## # A tibble: 500 × 1 - ## Race - ## - ## 1 Hispanic - ## 2 Hispanic - ## 3 Hispanic - ## 4 White - ## 5 Bi-Racial - ## 6 Hispanic - ## 7 White - ## 8 White - ## 9 White - ## 10 Hispanic + ## Race + ## + ## 1 Asian + ## 2 White + ## 3 Hispanic + ## 4 White + ## 5 White + ## 6 White + ## 7 White + ## 8 White + ## 9 Black + ## 10 White ## # … with 490 more rows The power of `r_data_frame` is apparent when we use many modular @@ -125,23 +125,22 @@ r_data_frame( ## # A tibble: 500 × 8 ## ID Race Age Sex Hour IQ Height Died ## - ## 1 001 White 22 Female 00:00:00 120 63 TRUE - ## 2 002 Hispanic 66 Female 00:00:00 120 70 TRUE - ## 3 003 White 56 Male 00:00:00 114 68 TRUE - ## 4 004 Hispanic 24 Female 00:00:00 105 71 FALSE - ## 5 005 Black 49 Male 00:00:00 93 67 FALSE - ## 6 006 Native 35 Male 00:30:00 99 67 TRUE - ## 7 007 White 65 Male 00:30:00 98 71 FALSE - ## 8 008 White 22 Male 00:30:00 83 69 TRUE - ## 9 009 White 21 Male 00:30:00 98 77 FALSE - ## 10 010 White 80 Male 00:30:00 103 60 TRUE + ## 1 001 Black 72 Female 00:00:00 92 74 FALSE + ## 2 002 Hispanic 63 Male 00:00:00 96 67 TRUE + ## 3 003 White 40 Female 00:00:00 117 69 FALSE + ## 4 004 White 59 Male 00:00:00 77 65 FALSE + ## 5 005 White 46 Male 00:00:00 100 70 TRUE + ## 6 006 Asian 86 Female 00:00:00 84 71 FALSE + ## 7 007 Black 82 Female 00:00:00 107 63 TRUE + ## 8 008 Hispanic 30 Male 00:00:00 103 64 FALSE + ## 9 009 Asian 39 Female 00:30:00 83 71 TRUE + ## 10 010 Native 75 Male 00:30:00 95 68 FALSE ## # … with 490 more rows There are 49 **wakefield** based variable functions to chose from, spanning **R**’s various data types (see `?variables` for details). -
@@ -340,16 +339,16 @@ r_data_frame( ## # A tibble: 500 × 10 ## ID Scoring Smoker Race Age Sex Hour IQ Height Died ## - ## 1 001 1.08 TRUE White 36 Female 00:00:00 90 77 TRUE - ## 2 002 -1.23 TRUE White 83 Female 00:00:00 90 68 FALSE - ## 3 003 -1.09 TRUE White 66 Male 00:00:00 88 69 TRUE - ## 4 004 -1.37 TRUE White 82 Male 00:00:00 111 68 FALSE - ## 5 005 1.90 TRUE White 67 Male 00:00:00 95 66 TRUE - ## 6 006 -0.308 FALSE Asian 84 Female 00:00:00 90 67 FALSE - ## 7 007 0.714 FALSE Hispanic 38 Female 00:00:00 108 75 TRUE - ## 8 008 -0.0386 TRUE Hispanic 45 Male 00:00:00 95 66 TRUE - ## 9 009 -0.140 TRUE White 23 Male 00:30:00 105 75 TRUE - ## 10 010 1.84 TRUE White 83 Female 00:30:00 109 72 TRUE + ## 1 001 -1.60 TRUE White 88 Female 00:00:00 107 71 FALSE + ## 2 002 0.559 TRUE Hispanic 42 Male 00:00:00 104 69 FALSE + ## 3 003 1.33 TRUE Hispanic 87 Male 00:00:00 94 67 FALSE + ## 4 004 -1.45 FALSE Hispanic 67 Male 00:00:00 100 71 FALSE + ## 5 005 1.11 FALSE White 83 Male 00:00:00 108 72 FALSE + ## 6 006 -0.678 FALSE Hispanic 80 Female 00:00:00 104 70 FALSE + ## 7 007 -0.615 TRUE White 64 Female 00:00:00 94 72 TRUE + ## 8 008 -0.239 TRUE White 18 Male 00:00:00 116 69 FALSE + ## 9 009 -1.28 FALSE White 77 Female 00:00:00 103 64 FALSE + ## 10 010 -0.267 FALSE Asian 39 Female 00:00:00 100 73 TRUE ## # … with 490 more rows ``` r @@ -364,16 +363,16 @@ r_data_frame( ## # A tibble: 500 × 7 ## ID Age_1 Age_2 Age_3 Grade_1 Grade_2 Grade_3 ## - ## 1 001 51 33 50 92.1 86.1 90.9 - ## 2 002 62 37 26 85.1 84.4 84.5 - ## 3 003 30 21 35 81.3 84.9 79.9 - ## 4 004 23 21 82 83.8 98.2 85.4 - ## 5 005 42 75 81 89.6 89.1 87.4 - ## 6 006 36 62 25 98.3 90.5 89.4 - ## 7 007 41 52 29 89.3 86.6 95.6 - ## 8 008 83 24 51 84.6 85.9 82.1 - ## 9 009 44 48 34 86.4 79.5 83.4 - ## 10 010 34 80 32 82.4 92 88.8 + ## 1 001 49 28 55 88.5 87.4 91.8 + ## 2 002 39 31 37 84.1 84.1 91.7 + ## 3 003 66 53 89 91.9 94.2 88.3 + ## 4 004 41 37 50 82.9 92.5 79.8 + ## 5 005 67 75 51 90.2 80.4 86.1 + ## 6 006 36 45 78 81.7 86 79.4 + ## 7 007 64 59 54 79.8 95.1 85.6 + ## 8 008 33 56 52 94.5 83.5 86 + ## 9 009 55 74 24 87.2 92.8 77.7 + ## 10 010 32 51 75 89.1 84.8 87 ## # … with 490 more rows While passing variable functions to `r_data_frame` without call @@ -401,16 +400,16 @@ r_data_frame( ## # A tibble: 500 × 11 ## ID Scoring Smoker Reading(min…¹ Race Age Sex Hour IQ Height Died ## - ## 1 001 -2.13 FALSE 21 Asian 10 Male 00:0… 98 42 TRUE - ## 2 002 1.80 FALSE 20 Asian 12 Fema… 00:0… 107 44 FALSE - ## 3 003 -1.05 FALSE 19 White 11 Fema… 00:0… 93 49 FALSE - ## 4 004 -0.832 TRUE 24 Black 8 Male 00:0… 90 57 TRUE - ## 5 005 1.36 TRUE 10 White 9 Male 00:0… 102 47 TRUE - ## 6 006 -0.940 TRUE 20 Black 11 Male 00:0… 108 50 FALSE - ## 7 007 0.214 TRUE 23 White 14 Male 00:0… 124 40 TRUE - ## 8 008 -0.492 FALSE 26 White 12 Male 00:0… 92 55 TRUE - ## 9 009 -0.309 FALSE 17 Hisp… 11 Fema… 00:0… 80 42 FALSE - ## 10 010 -0.312 TRUE 26 White 13 Male 00:0… 96 65 TRUE + ## 1 001 1.18 FALSE 23 Black 11 Fema… 00:0… 82 56 TRUE + ## 2 002 0.862 FALSE 29 White 14 Male 00:0… 101 45 FALSE + ## 3 003 0.986 FALSE 18 Asian 14 Male 00:0… 102 36 FALSE + ## 4 004 1.13 FALSE 23 White 9 Fema… 00:0… 85 60 FALSE + ## 5 005 0.678 TRUE 14 White 12 Fema… 00:0… 109 57 FALSE + ## 6 006 0.913 TRUE 23 White 8 Male 00:3… 95 72 FALSE + ## 7 007 1.09 TRUE 17 White 11 Fema… 00:3… 112 51 TRUE + ## 8 008 0.811 TRUE 16 White 9 Fema… 00:3… 93 68 TRUE + ## 9 009 0.334 TRUE 13 White 8 Fema… 00:3… 81 56 TRUE + ## 10 010 -0.786 FALSE 26 White 10 Male 00:3… 95 43 TRUE ## # … with 490 more rows, and abbreviated variable name ¹​`Reading(mins)` ## Random Missing Observations @@ -438,18 +437,18 @@ r_data_frame( ``` ## # A tibble: 30 × 10 - ## ID Race Age Sex Hour IQ Height Died Scoring Smoker - ## - ## 1 01 White 33 02:00:00 NA 64 NA NA FALSE - ## 2 02 Black 34 Female 03:00:00 NA NA FALSE NA FALSE - ## 3 03 White NA Male 85 NA TRUE NA NA - ## 4 04 79 Female 97 62 TRUE -0.832 TRUE - ## 5 05 Black NA Female 05:00:00 102 NA NA NA NA - ## 6 06 62 Female 119 NA FALSE NA TRUE - ## 7 07 81 Female 08:30:00 93 NA FALSE NA FALSE - ## 8 08 64 Female 09:00:00 99 70 TRUE -0.944 TRUE - ## 9 09 White 31 Male NA 65 FALSE -0.0715 TRUE - ## 10 10 White NA 10:30:00 95 75 NA NA NA + ## ID Race Age Sex Hour IQ Height Died Scoring Smoker + ## + ## 1 01 19 Female 00:00:00 96 65 NA -1.86 FALSE + ## 2 02 NA 00:30:00 83 NA NA NA NA + ## 3 03 White 54 Male 100 NA FALSE 1.51 TRUE + ## 4 04 NA NA NA NA 1.38 FALSE + ## 5 05 White 30 Female 103 NA TRUE NA FALSE + ## 6 06 Bi-Racial 24 07:00:00 112 NA NA NA NA + ## 7 07 Black 63 Male 07:00:00 92 64 FALSE NA FALSE + ## 8 08 Black NA Male 07:30:00 NA 73 FALSE 1.28 NA + ## 9 09 White 80 Male 08:00:00 96 75 FALSE NA NA + ## 10 10 Black NA Male 08:00:00 106 70 FALSE 1.55 TRUE ## # … with 20 more rows ## Repeated Measures & Time Series