@@ -22,14 +22,7 @@ read_cells <- function(drfile, sheet, variables, translate = FALSE, translations
2222 }
2323 })
2424 result <- stats :: setNames(result , sapply(variables , function (x ) x $ name ))
25- lapply(result , function (y ) {
26- switch (atomicclass ,
27- " character" = as.character(y ),
28- " numeric" = as.numeric(y ),
29- " integer" = as.integer(y ),
30- " logical" = as.logical(y ),
31- " date" = as.integer(y ))
32- })
25+ lapply(result , coerce , atomicclass )
3326}
3427
3528# ' Read keyvalue pair formatted data from a spreadsheet
@@ -47,14 +40,7 @@ read_keyvalue <- function(drfile, sheet, range, translate = FALSE, translations
4740 if (translate ) {
4841 keyvalue $ key <- long_to_shortnames(keyvalue $ key , translations )
4942 }
50- coerce <- function (x ) {
51- switch (atomicclass ,
52- " character" = as.character(x ),
53- " numeric" = as.numeric(x ),
54- " integer" = as.integer(x ),
55- " logical" = as.logical(x ))
56- }
57- kvlist <- lapply(keyvalue $ value , coerce )
43+ kvlist <- lapply(keyvalue $ value , coerce , atomicclass )
5844 names(kvlist ) <- keyvalue $ key
5945 kvlist
6046}
0 commit comments