diff --git a/scripts/plotting/structure_figures/AFFINITY_TEST.R b/scripts/plotting/structure_figures/AFFINITY_TEST.R index 08a1331..2ac94b8 100644 --- a/scripts/plotting/structure_figures/AFFINITY_TEST.R +++ b/scripts/plotting/structure_figures/AFFINITY_TEST.R @@ -27,38 +27,38 @@ max(abs((a[c('affinity_scaled','mmcsm_lig_scaled','mcsm_ppi2_scaled','mcsm_na_sc a2 = (a[c('affinity_scaled','mmcsm_lig_scaled','mcsm_ppi2_scaled','mcsm_na_scaled')]) a2 - -biggest = max(abs(a2[1,])) - -#hmm -#which(abs(a2) == biggest) -#names(a2)[apply(a2, 1:4, function(i) which(i == max()))] - -# get row max -a2$row_maximum = apply(abs(a2[,-1]), 1, max) - -# get colname for abs(max_value) -#https://stackoverflow.com/questions/36960010/get-column-name-that-matches-specific-row-value-in-dataframe -#names(df)[which(df == 1, arr.ind=T)[, "col"]] -# yayy -names(a2)[which(abs(a2) == biggest, arr.ind=T)[, "col"]] - -#another:https://statisticsglobe.com/return-column-name-of-largest-value-for-each-row-in-r -colnames(a2)[max.col(abs(a2), ties.method = "first")] # Apply colnames & max.col functions -################################################# -# use whole df -#gene_aff_cols = c('affinity_scaled','mmcsm_lig_scaled','mcsm_ppi2_scaled','mcsm_na_scaled') - -biggest = max(abs(a[gene_aff_cols])) -a$max_es = biggest -a$effect = names(a[gene_aff_cols])[which(abs(a[gene_aff_cols]) == biggest, arr.ind=T)[, "col"]] - -effect_name = unique(a$effect) -#get index of value of max effect -ind = (which(abs(a[effect_name]) == biggest, arr.ind=T)) -a[effect_name][ind] -# extract sign -a$effect_sign = sign(a[effect_name][ind]) +# +# biggest = max(abs(a2[1,])) +# +# #hmm +# #which(abs(a2) == biggest) +# #names(a2)[apply(a2, 1:4, function(i) which(i == max()))] +# +# # get row max +# a2$row_maximum = apply(abs(a2[,-1]), 1, max) +# +# # get colname for abs(max_value) +# #https://stackoverflow.com/questions/36960010/get-column-name-that-matches-specific-row-value-in-dataframe +# #names(df)[which(df == 1, arr.ind=T)[, "col"]] +# # yayy +# names(a2)[which(abs(a2) == biggest, arr.ind=T)[, "col"]] +# +# #another:https://statisticsglobe.com/return-column-name-of-largest-value-for-each-row-in-r +# colnames(a2)[max.col(abs(a2), ties.method = "first")] # Apply colnames & max.col functions +# ################################################# +# # use whole df +# #gene_aff_cols = c('affinity_scaled','mmcsm_lig_scaled','mcsm_ppi2_scaled','mcsm_na_scaled') +# +# biggest = max(abs(a[gene_aff_cols])) +# a$max_es = biggest +# a$effect = names(a[gene_aff_cols])[which(abs(a[gene_aff_cols]) == biggest, arr.ind=T)[, "col"]] +# +# effect_name = unique(a$effect) +# #get index of value of max effect +# ind = (which(abs(a[effect_name]) == biggest, arr.ind=T)) +# a[effect_name][ind] +# # extract sign +# a$effect_sign = sign(a[effect_name][ind]) ######################################################## # maxn <- function(n) function(x) order(x, decreasing = TRUE)[n] # second_big = abs(a[gene_aff_cols])[maxn(2)(abs(a[gene_aff_cols])]