From 19757f55a87f4d29ca299db9d87f5934488c0240 Mon Sep 17 00:00:00 2001 From: John Blischak Date: Tue, 12 Jan 2021 15:29:38 -0500 Subject: [PATCH 1/2] Vectorize rowSums() to increase speed of Counter(). --- R/MainBar.R | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/R/MainBar.R b/R/MainBar.R index e9cf791..afb5a61 100644 --- a/R/MainBar.R +++ b/R/MainBar.R @@ -26,9 +26,7 @@ Counter <- function(data, num_sets, start_col, name_of_sets, nintersections, mba Freqs <- Freqs[!(rowSums(Freqs[ ,1:num_sets]) == 0), ] #Aggregation by degree if(tolower(aggregate) == "degree"){ - for(i in 1:nrow(Freqs)){ - Freqs$degree[i] <- rowSums(Freqs[ i ,1:num_sets]) - } + Freqs$degree <- rowSums(Freqs[, 1:num_sets]) order_cols <- c() for(i in 1:length(order_mat)){ order_cols[i] <- match(order_mat[i], colnames(Freqs)) From b7c1c727563e82da3b8a5a2e2ade70fcd1791d14 Mon Sep 17 00:00:00 2001 From: John Blischak Date: Mon, 8 Feb 2021 19:30:10 -0500 Subject: [PATCH 2/2] Vectorize for loop to increase speed of Counter(). --- R/MainBar.R | 6 ++---- R/Specific.intersections.R | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/R/MainBar.R b/R/MainBar.R index afb5a61..57a3c29 100644 --- a/R/MainBar.R +++ b/R/MainBar.R @@ -45,10 +45,8 @@ Counter <- function(data, num_sets, start_col, name_of_sets, nintersections, mba #delete rows used to order data correctly. Not needed to set up bars. delete_row <- (num_sets + 2) Freqs <- Freqs[ , -delete_row] - for( i in 1:nrow(Freqs)){ - Freqs$x[i] <- i - Freqs$color <- mbar_color - } + Freqs$x <- 1:nrow(Freqs) + Freqs$color <- mbar_color if(is.na(nintersections)){ nintersections = nrow(Freqs) } diff --git a/R/Specific.intersections.R b/R/Specific.intersections.R index f1acb15..fe377d8 100644 --- a/R/Specific.intersections.R +++ b/R/Specific.intersections.R @@ -54,10 +54,8 @@ specific_intersections <- function(data, first.col, last.col, intersections, ord #delete rows used to order data correctly. Not needed to set up bars. delete_row <- (num_sets + 2) Freqs <- Freqs[ , -delete_row] - for( i in 1:nrow(Freqs)){ - Freqs$x[i] <- i - Freqs$color <- mbar_color - } + Freqs$x <- 1:nrow(Freqs) + Freqs$color <- mbar_color Freqs <- na.omit(Freqs) return(Freqs) } \ No newline at end of file