Je voudrais coloriser les cellules de chaque colonne d'une table en fonction de ses quantiles et le faire pour chaque colonne. Pour cet exercice, j'ai utilisé le paquet DT.Coloriser les cellules d'une colonne en fonction de ses quantiles en utilisant le paquet DT et le faire pour n'importe quelle colonne
Ci-dessous vous trouverez un exemple reproductible qui fait la colorisation des cellules sur la base quantiles des figures de toute la table:
set.seed(1)
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))
brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>%{paste0("rgb(255,", ., ",", ., ")")}
datatable(df) %>% formatStyle(names(df), backgroundColor = styleInterval(cuts=brks,values=clrs))
Je voudrais faire la même chose, mais en colonnes . Voici le code que j'ai écrit à le faire:
set.seed(1)
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))
brks <- apply(df,MARGIN=2,FUN=quantile,probs=seq(.05, .95, .05))
clrs <- round(seq(255, 40, length.out = nrow(brks)), 0) %>% {paste0("rgb(255,", ., ",", ., ")")}
r=replicate(ncol(brks),clrs)
r=as.vector(r)
r=append(r,"rgb(255,20,20)")
brks <- as.vector(brks)
datatable(df) %>% formatStyle(names(df), backgroundColor = styleInterval(cuts=brks,values=r))
je commence à faire une application sur des colonnes pour obtenir après les quintiles colonne (brks
) et de créer des couleurs assorties répliquées (r
). Ensuite, je mets ces matrices en tant que vecteurs que styleInterval
accepte seulement les vecteurs. De plus, j'ajoute un nouvel élément au vecteur r puisque je pense que l'argument "valeurs" de styleInterval
devrait contenir un élément de plus que l'argument "cuts".
J'ai quelques problèmes avec le code, en particulier "coupes 'doit être trié de plus en plus" apparaît. Quelqu'un at-il une idée sur le point de le résoudre?