
Last chance! 50% off unlimited learning
Sale ends in
This function aims to apply a given filter-citerium, a matrix or vector of FALSE/TRUE
which is typically combined with a second layer
which filters for a min content of filer-passing values per line for the first/main criterium.
Then all lines concerned will be removed. This will be done for all list-elements (of appropriate size) of the input-list
(while maintaining the list-structure in the output) not matching the filtering criteria.
filterList(lst, filt, minLineRatio = 0.5, silent = FALSE, callFrom = NULL)
(list) main input, each vector, matrix or data.frame in this list will be filtered if its length or number of lines fits to filt
(logical) vector of FALSE/TRUE
to use for filtering. If this a matrix is given, the value of minLineRatio
will be applied as threshod of min content of TRUE
for each line of filt
(numeric) in case filt
is a matrix of FALSE/TRUE
, this value will be used as threshold of min content of TRUE
for each line of filt
(logical) suppress messages
(character) allow easier tracking of message(s) produced
filtered list
# NOT RUN {
set.seed(2020); dat1 <- round(runif(80),2)
list1 <- list(m1=matrix(dat1[1:40],ncol=8), m2=matrix(dat1[41:80],ncol=8), other=letters[1:8])
rownames(list1$m1) <- rownames(list1$m2) <- paste0("line",1:5)
filterList(list1, list1$m1[,1] >0.4)
filterList(list1, list1$m1 >0.4)
# }
Run the code above in your browser using DataLab