The wildcard package is a templating mechanism for data frames. Wildcards are placeholders for text, and you can evaluate them to generate new data frames from templates. The functionality is straightforward.

wildcard()

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
wildcard(myths, wildcard = "day", values = c("today", "yesterday"), expand = FALSE)
##                myth     claim           note
## 1           Bigfoot   various        various
## 2               UFO     today       pictures
## 3 Loch Ness Monster yesterday reported today
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))
##                myth        origin
## 1           Bigfoot North America
## 2         spaceship       various
## 3            saucer       various
## 4 Loch Ness Monster      Scotland
numbers <- data.frame(x = 4, y = 3, z = 4444, w = 4.434)
wildcard(numbers, wildcard = 4, values = 7)
##   x y    z     w
## 1 7 3 7777 7.737

expandrows()

df <- data.frame(ID = c("24601", "Javert", "Fantine"), 
                 fate = c("fulfillment", "confusion", "misfortune"))
expandrows(df, n = 2, type = "each")
##        ID        fate
## 1   24601 fulfillment
## 2   24601 fulfillment
## 3  Javert   confusion
## 4  Javert   confusion
## 5 Fantine  misfortune
## 6 Fantine  misfortune
expandrows(df, n = 2, type = "times")
##        ID        fate
## 1   24601 fulfillment
## 2  Javert   confusion
## 3 Fantine  misfortune
## 4   24601 fulfillment
## 5  Javert   confusion
## 6 Fantine  misfortune

nofactors()

class(iris$Species)
## [1] "factor"
str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
out <- nofactors(iris)
class(out$Species)
## [1] "character"
str(out)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : chr  "setosa" "setosa" "setosa" "setosa" ...

Troubleshooting

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.