1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- get_data <- function(csv_file_name) {
- # Reads data from csv file into a tibble, and creates IDs for mice, series, experiments, and neurons
-
- tib = read_csv(csv_file_name)
-
- if (has_name(tib, 'mseu')) {
-
- # add mouse ID - this is based on m(ouse) only
- tib <- tib %>% mutate(mid = as.numeric(as.factor(str_split_fixed(tib$mseu, '_s', 2)[,1])))
-
- # add series ID - this is based on m and s(eries)
- tib <- tib %>% mutate(sid = as.numeric(as.factor(str_split_fixed(tib$mseu, '_e', 2)[,1])))
-
- # add exp ID - this is based on m, s, and e(xperiment)
- tib <- tib %>% mutate(eid = as.numeric(as.factor(str_split_fixed(tib$mseu, '_u', 2)[,1])))
-
- # add unit ID - this is based on m, s, and u(nit), ignoring e
- tib <- tib %>% mutate(uid = as.numeric(as.factor(paste(str_split_fixed(tib$mseu, '_e', 2)[,1], '_u' , str_split_fixed(tib$mseu, '_u', 2)[,2], sep=""))))
-
- # put iDs up front
- tib <- tib %>% select(mid, sid, eid, uid, everything())
-
- # If we don't have 'experiments', we need to do a slightly different parsing
- } else if (has_name(tib, 'msu')) {
-
- # add mouse ID - this is based on m only
- tib <- tib %>% mutate(mid = as.numeric(as.factor(str_split_fixed(tib$msu, '_s', 2)[,1])))
-
- # add series ID - this is based on m and s
- tib <- tib %>% mutate(sid = as.numeric(as.factor(str_split_fixed(tib$msu, '_u', 2)[,1])))
-
- # add unit ID - this is based on m, s, and u
- tib <- tib %>% mutate(uid = as.numeric(as.factor(tib$msu)))
-
- # put IDs up front
- tib <- tib %>% select(mid, sid, uid, everything()) # put id up front
-
- # We don't have units - this requires a slightly differnt parsing
- } else if (has_name(tib, 'mse')) {
-
- # add mouse ID
- tib <- tib %>% mutate(mid = as.numeric(as.factor(str_split_fixed(tib$mse, '_s', 2)[,1])))
-
- # add series ID
- tib <- tib %>% mutate(sid = as.numeric(as.factor(str_split_fixed(tib$mse, '_e', 2)[,1])))
-
- # add experiment ID
- tib <- tib %>% mutate(eid = as.numeric(as.factor(tib$mse)))
-
- # put IDs up front
- tib <- tib %>% select(mid, sid, eid, everything())
-
- }
- return(tib)
- }
|