Omaggio a Sabino
Chi è Sabino? Sabino Maggi è uno scienziato e con la puntigliosità dello scienziato si preoccupa anche di divulgare come sfruttare al meglio il Mac, con ottime incursioni sull’uso del terminale. Sul suo
blog sono apparsi ultimamente due post su come calcolare lo spazio su disco. Il primo spiega il comando du
e sue varianti1. Nel secondo2 è andato a scovare qualche strumento grafico per visualizzare i risultati di du
.
Così mi è venuta la fantasia di provare a rappresentare i dati di occupazione del disco con il mio amato R. Il livello di sofisticazione non è molto alto, ma il risultato lo ritengo sufficiente per il momento. Ho scelto come tipo di rappresentazione treemap, usando ggplot2
, Figure 1, e poi plotly
, Figure 2, per dare un po’ di interattività. L’area occupata dai rettangoli è proporzionale alle dimensioni di file e directory.
dut <- fread(cmd = "du -d 2 -I '.*' /Users/mimmo/Nextcloud/esempi", col.names = c("dimensione", "nome"))
p <- ggplot(dut, aes(area = dimensione, fill = dimensione, label = nome)) +
geom_treemap() +
geom_treemap_text(colour = "white") +
theme(legend.position = "none")
p
plot_ly(dut, parents = NA, values = ~ dimensione, labels = ~ nome, type = "treemap")
Vorrei spendere qualche riga per sottolineare come è facile con fread
sfruttare l’opzione cmd per trasportare l’output di un comando shell in un data.frame, per poi elaborare ulteriormente i dati.
Tanto per fare un esempio.
dat <- fread(cmd = "ls -fl /Users/mimmo/Nextcloud/esempi", header = FALSE)
setorder(dat, -V5)
head(dat$V5) |> barplot()