@@ -68,7 +68,7 @@ min_depth_interactions_values <- function(forest, vars){
6868 mean_tree_depth <- dplyr :: group_by(interactions_frame [, c(" tree" , vars )], tree ) %> %
6969 dplyr :: summarize_at(vars , funs(max(. , na.rm = TRUE ))) %> % as.data.frame()
7070 mean_tree_depth [mean_tree_depth == - Inf ] <- NA
71- mean_tree_depth <- colMeans(mean_tree_depth [, vars ], na.rm = TRUE )
71+ mean_tree_depth <- colMeans(mean_tree_depth [, vars , drop = FALSE ], na.rm = TRUE )
7272 min_depth_interactions_frame <-
7373 interactions_frame %> % dplyr :: group_by(tree , `split var` ) %> %
7474 dplyr :: summarize_at(vars , funs(min(. , na.rm = TRUE ))) %> % as.data.frame()
@@ -93,7 +93,7 @@ min_depth_interactions_values_ranger <- function(forest, vars){
9393 mean_tree_depth <- dplyr :: group_by(interactions_frame [, c(" tree" , vars )], tree ) %> %
9494 dplyr :: summarize_at(vars , funs(max(. , na.rm = TRUE ))) %> % as.data.frame()
9595 mean_tree_depth [mean_tree_depth == - Inf ] <- NA
96- mean_tree_depth <- colMeans(mean_tree_depth [, vars ], na.rm = TRUE )
96+ mean_tree_depth <- colMeans(mean_tree_depth [, vars , drop = FALSE ], na.rm = TRUE )
9797 min_depth_interactions_frame <-
9898 interactions_frame %> % dplyr :: group_by(tree , splitvarName ) %> %
9999 dplyr :: summarize_at(vars , funs(min(. , na.rm = TRUE ))) %> % as.data.frame()
@@ -146,15 +146,15 @@ min_depth_interactions.randomForest <- function(forest, vars = important_variabl
146146 non_occurrences [, - 1 ] <- forest $ ntree - occurrences [, - 1 ]
147147 interactions_frame [is.na(as.matrix(interactions_frame ))] <- 0
148148 interactions_frame [, - 1 ] <- (interactions_frame [, - 1 ] * occurrences [, - 1 ] +
149- as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth ))/ forest $ ntree
149+ as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth , nrow = length( mean_tree_depth ) ))/ forest $ ntree
150150 } else if (mean_sample == " top_trees" ){
151151 non_occurrences <- occurrences
152152 non_occurrences [, - 1 ] <- forest $ ntree - occurrences [, - 1 ]
153153 minimum_non_occurrences <- min(non_occurrences [, - 1 ])
154154 non_occurrences [, - 1 ] <- non_occurrences [, - 1 ] - minimum_non_occurrences
155155 interactions_frame [is.na(as.matrix(interactions_frame ))] <- 0
156156 interactions_frame [, - 1 ] <- (interactions_frame [, - 1 ] * occurrences [, - 1 ] +
157- as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth ))/ (forest $ ntree - minimum_non_occurrences )
157+ as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth , nrow = length( mean_tree_depth ) ))/ (forest $ ntree - minimum_non_occurrences )
158158 }
159159 interactions_frame <- reshape2 :: melt(interactions_frame , id.vars = " variable" )
160160 colnames(interactions_frame )[2 : 3 ] <- c(" root_variable" , " mean_min_depth" )
@@ -195,15 +195,15 @@ min_depth_interactions.ranger <- function(forest, vars = important_variables(mea
195195 non_occurrences [, - 1 ] <- forest $ num.trees - occurrences [, - 1 ]
196196 interactions_frame [is.na(as.matrix(interactions_frame ))] <- 0
197197 interactions_frame [, - 1 ] <- (interactions_frame [, - 1 ] * occurrences [, - 1 ] +
198- as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth ))/ forest $ num.trees
198+ as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth , nrow = length( mean_tree_depth ) ))/ forest $ num.trees
199199 } else if (mean_sample == " top_trees" ){
200200 non_occurrences <- occurrences
201201 non_occurrences [, - 1 ] <- forest $ num.trees - occurrences [, - 1 ]
202202 minimum_non_occurrences <- min(non_occurrences [, - 1 ])
203203 non_occurrences [, - 1 ] <- non_occurrences [, - 1 ] - minimum_non_occurrences
204204 interactions_frame [is.na(as.matrix(interactions_frame ))] <- 0
205205 interactions_frame [, - 1 ] <- (interactions_frame [, - 1 ] * occurrences [, - 1 ] +
206- as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth ))/ (forest $ num.trees - minimum_non_occurrences )
206+ as.matrix(non_occurrences [, - 1 ]) %*% diag(mean_tree_depth , nrow = length( mean_tree_depth ) ))/ (forest $ num.trees - minimum_non_occurrences )
207207 }
208208 interactions_frame <- reshape2 :: melt(interactions_frame , id.vars = " variable" )
209209 colnames(interactions_frame )[2 : 3 ] <- c(" root_variable" , " mean_min_depth" )
0 commit comments