libra <- c(3, 5, 6, 2)
solidus <- c(10, 18, 11, 16)
denarius <- c(9, 11, 10, 5)
farthing <- c(2, 3, 1, 0)
# data frame with separate l, s, and d variables and default names
x <- data.frame(accounts = c(1, 2, 3, 4),
l = libra,
s = solidus,
d = denarius,
f = farthing)
# data frame with deb_tetra variable and default names
y <- data.frame(accounts = c(1, 2, 3, 4),
tetra = deb_tetra(l = libra,
s = solidus,
d = denarius,
f = farthing))
# Gather l, s, d, and f variables into a deb_tetra column
deb_gather_tetra(x, l = l, s = s, d = d, f = f)
# Spread deb_tetra column into separate l, s, d, and f columns
deb_spread_tetra(y, tetra = tetra)
# Replace original columns with replace = TRUE
deb_gather_tetra(x, replace = TRUE)
deb_spread_tetra(y, replace = TRUE)
# Choose non-default column names
deb_gather_tetra(x, tetra_col = data, replace = TRUE)
deb_spread_tetra(y,
l_col = libra,
s_col = solidus,
d_col = denarius,
f_col = farthing,
replace = TRUE)
# The two functions are opposites
z <- x %>%
deb_gather_tetra(replace = TRUE) %>%
deb_spread_tetra(replace = TRUE)
all.equal(x, z)
Run the code above in your browser using DataLab