Description Usage Arguments Value Examples
Transform data of class extracted
for migrating to a database
1 2 | ## S3 method for class 'extracted'
transform(extracted_data, trans_functions, new_columns)
|
extracted_data |
A tidy data set with class |
trans_functions |
A list of functions that will be applied to the |
new_columns |
Character vector of the column to be returned as a transformed data output |
A data.frame
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | df <- data.frame(
a = rep(1:4, each = 4),
b = rep(c(0L, 1L, 2L, 3L), 4),
c = rep(letters[1:8], 2),
d = rep(1:2, each = 8),
e = as.character(seq(as.Date("2015/1/1"), as.Date("2015/1/16"), "days")),
stringsAsFactors = FALSE
)
makeVisit <- function(data){
old.visit <- c("a", "b", "c", "d", "e", "f", "g")
new.visit <- paste0("V0", 1:7)
data$Visit <- apply(data, 1, function(row){
if(row["c"] %in% old.visit){
new.visit[grep(row["c"], old.visit, fixed = TRUE)]
}else{
row["c"]
}
})
data
}
makeSubject <- function(data){
data$Subject <- paste0("PPMI-", data$d)
data
}
makeCase <- function(data){
data$Case <- paste(data$Subject, data$Visit, sep = "-")
data
}
makeTest <- function(data){
data <- gather(data, Test, Value, a:b)
i <- sapply(data, is.factor)
data[i] <- lapply(data[i], as.character)
data
}
output <- transform(extracted_data = extracted(df),
trans_functions = list(makeVisit, makeSubject, makeCase, makeTest),
new_columns = c("Subject", "Visit", "Case", "Test", "Value"))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.