The wildcard package is a templating mechanism for data frames in R. Wildcards are placeholders for text, and you can evaluate them to generate new data frames from templates.
library(wildcard)
myths <- data.frame(
myth = c("Bigfoot", "UFO", "Loch Ness Monster"),
claim = c("various", "day", "day"),
note = c("various", "pictures", "reported day"))
myths
## myth claim note
## 1 Bigfoot various various
## 2 UFO day pictures
## 3 Loch Ness Monster day reported day
wildcard(myths, wildcard = "day", values = c("today", "yesterday"))
## myth claim note
## 1 Bigfoot various various
## 2 UFO today pictures
## 3 UFO yesterday pictures
## 4 Loch Ness Monster today reported today
## 5 Loch Ness Monster yesterday reported yesterday
First, ensure that R is installed. To install the latest CRAN release, run
install.packages("wildcard")
To install the development version, get the devtools package and then run
devtools::install_github("wlandau/wildcard", build = TRUE)
If you specify a tag, you can install a GitHub release.
devtools::install_github("wlandau/wildcard@v1.0.1", build = TRUE)
See the package vignette.
vignette(package = "wildcard")
vignette("wildcard")
You can submit questions, bug reports, and feature requests to the issue tracker. Please take care to search for duplicates first, even among the closed issues.
Try out the following or see the CRAN vignette for the output.
library(wildcard)
myths <- data.frame(
myth = c("Bigfoot", "UFO", "Loch Ness Monster"),
claim = c("various", "day", "day"),
note = c("various", "pictures", "reported day"))
wildcard(myths, wildcard = "day", values = c("today", "yesterday"))
wildcard(myths, wildcard = "day", values = c("today", "yesterday"),
expand = FALSE)
wildcard(myths, wildcard = "day", values = c("today", "yesterday"),
include = "claim")
wildcard(myths, wildcard = "day", values = c("today", "yesterday"),
exclude = c("claim", "note"))
locations <- data.frame(
myth = c("Bigfoot", "UFO", "Loch Ness Monster"),
origin = "where")
rules <- list(
where = c("North America", "various", "Scotland"),
UFO = c("spaceship", "saucer"))
wildcard(locations, rules = rules, expand = c(FALSE, TRUE))
numbers <- data.frame(x = 4, y = 3, z = 4444, w = 4.434)
wildcard(numbers, wildcard = 4, values = 7)
df <- data.frame(
ID = c("24601", "Javert", "Fantine"),
fate = c("fulfillment", "confusion", "misfortune"))
expandrows(df, n = 2, type = "each")
expandrows(df, n = 2, type = "times")
class(iris$Species)
str(iris)
out <- nofactors(iris)
class(out$Species)
str(out)
Be sure that wildcards and are not also replacement values.
df <- data.frame(x = "a", y = "b")
rules <- list(a = letters[1:3], b = LETTERS[1:3])
wildcard(df, rules = rules)
## x y
## 1 a A
## 2 a B
## 3 a C
## 4 A A
## 5 B B
## 6 C C
## 7 c A
## 8 c B
## c C
## Warning message:
## In check_rules(rules) :
## In `rules`, some wildcards are also replacement values.
## The returned data frame may be different than you expect,
## and it may depend on the order of the wildcards in `rules`.