I have the following data:
mydata <- data.frame(VAR1 = c("A", "A", "A", "A", "A", "A", "B", "B", "B",
"B", "B", "B", "C", "C", "C", "C", "C", "C",
"D", "D", "D", "D", "D", "D", "E", "E", "E", "E", "E", "E"),
VAR2 = c("A1", "A1", "A1", "A2", "A2", "A2", "B1", "B1", "B1",
"B2", "B2", "B2", "C1", "C1", "C1", "C2", "C2", "C2",
"D1", "D1", "D1", "D2", "D2", "D2", "E1", "E1", "E1", "E2", "E2","E2"),
VAR3 = c("alpha", "beta", "gamma", "alpha", "beta", "gamma", "alpha", "beta", "gamma", "alpha",
"beta", "gamma", "alpha", "beta", "gamma", "alpha", "beta", "gamma", "alpha", "beta",
"gamma", "alpha", "beta", "gamma", "alpha", "beta", "gamma", "alpha", "beta", "gamma"),
VALUE = c(56, 38, 83, 29, 73, 75, 99, 88, 30, 58,
97, 42, 64, 67, 45, 99, 62, 65, 7, 40,
49, 62, 82, 63, 65, 40, 45, 29, 73, 51))
I want to transpose the data in wide format, where VAR1
& VAR2
are columns, values of VAR3
will be 3 extra columns and VALUE
column will be populated as values in this structure.
My question is how to do it using tidyverse & data.table::dcast? Which will be more efficient if the data size is very large, say 2 GB in raw form (my RAM size is 8 GB)?
Thanks!