cdata
is a demonstration of the “coordinatized data” theory and includes an implementation of the “fluid data” methodology. The tutorial of the general methodology is: Fluid data reshaping with cdata. Another example can be found here.
Briefly cdata
supplies data transform operators that:
DBI
data source.pivot
and un-pivot
.A quick example:
library("cdata")
## Loading required package: wrapr
my_db <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
# pivot example
d <- data.frame(meas = c('AUC', 'R2'), val = c(0.6, 0.2))
DBI::dbWriteTable(my_db,
'd',
d,
temporary = TRUE)
qlook(my_db, 'd')
## table `d` SQLiteConnection
## nrow: 2
## 'data.frame': 2 obs. of 2 variables:
## $ meas: chr "AUC" "R2"
## $ val : num 0.6 0.2
cT <- build_pivot_control_q('d',
columnToTakeKeysFrom= 'meas',
columnToTakeValuesFrom= 'val',
my_db = my_db)
tab <- blocks_to_rowrecs_q('d',
keyColumns = NULL,
controlTable = cT,
my_db = my_db)
qlook(my_db, tab)
## table `mvtcq_b3scgqeoozwcvgjsy28h_0000000001` SQLiteConnection
## nrow: 1
## 'data.frame': 1 obs. of 2 variables:
## $ AUC: num 0.6
## $ R2 : num 0.2
DBI::dbDisconnect(my_db)
Note: cdata
is targeted at data with “tame column names”, that is column names that are valid both in databases, and as R
variable names.