Convert a key object from wide to long format
This is not flexible, assumes columns are named in our canonical style, which means the columns are named c("name_old", "name_new", "class_old", "class_new", "value_old", "value_new").
wide2long(key, sep = c(character = "\\|", logical = "\\|", integer = "\\|", factor = "\\|", ordered = "[\\|<]", numeric = "\\|"))
key |
A variable key in the wide format |
sep |
Default separator is the pipe, "\|" for most variables, while ordered accepts pipe or less than, "\|<". If the key did not follow those customs, other sep values may be specified for each variable class. |
A long format variable key
Paul Johnson <pauljohn@ku.edu>
mydf.path <- system.file("extdata", "mydf.csv", package = "kutils") mydf <- read.csv(mydf.path, stringsAsFactors=FALSE) ## Target we are trying to match: mydf.keylong <- keyTemplate(mydf, long = TRUE, sort = FALSE) mydf.key <- keyTemplate(mydf) mydf.keywide2long <- wide2long(mydf.key) ## rownames not meaningful in long key, so remove in both versions row.names(mydf.keywide2long) <- NULL row.names(mydf.keylong) <- NULL all.equal(mydf.keylong, mydf.keywide2long)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.