Voglio rappresentare la struttura di un frame di dati (o matrice, o data.table qualunque) su un singolo grafico con codifica a colori. Immagino che potrebbe essere molto utile per molte persone che gestiscono vari tipi di dati, per visualizzarli in un colpo d'occhio.struttura visiva di un data.frame: posizioni di NA e molto altro
Forse qualcuno ha già sviluppato un pacchetto per farlo, ma non sono riuscito a trovarne uno (solo this). Così qui è un mockup approssimativa della mia "visione", una specie di heatmap, mostrando in codici colore:?
- le posizioni NA,
- la classe di variabili (fattori (quanti livelli), numerici (con gradiente di colore, zeri, valori anomali ...), stringhe)
- dimensioni
- ecc .....
S o lontano che ho appena scritto una funzione per tracciare le posizioni NA va in questo modo:
ggSTR = function(data, alpha=0.5){
require(ggplot2)
DF <- data
if (!is.matrix(data)) DF <- as.matrix(DF)
to.plot <- cbind.data.frame('y'=rep(1:nrow(DF), each=ncol(DF)),
'x'=as.logical(t(is.na(DF)))*rep(1:ncol(DF), nrow(DF)))
size <- 20/log(prod(dim(DF))) # size of point depend on size of table
g <- ggplot(data=to.plot) + aes(x,y) +
geom_point(size=size, color="red", alpha=alpha) +
scale_y_reverse() + xlim(1,ncol(DF)) +
ggtitle("location of NAs in the data frame")
pc <- round(sum(is.na(DF))/prod(dim(DF))*100, 2) # % NA
print(paste("percentage of NA data: ", pc))
return(g)
}
Prende qualsiasi data.frame in input e restituisce questa immagine:
è troppo grande una sfida per me per raggiungere la prima immagine.
il pacchetto rdataviewer potrebbe fornire un utile punto di partenza – baptiste
Un post SO correlato è apparso e potrebbe essere di interesse: [Ispezione e visualizzazione di spazi vuoti/spazi vuoti e struttura in dataframes di grandi dimensioni] (http: // stackover flow.com/q/28813057/2727349) – swihart