Può essere eseguito utilizzando stat_sum
all'interno di ggplot2. Per impostazione predefinita, la dimensione del punto rappresenta le proporzioni. Per ottenere la dimensione dei punti per rappresentare i conteggi, utilizzare size = ..n..
come estetica. I conteggi (e le proporzioni) di una terza variabile possono essere ottenuti ponderando la terza variabile (weight = cost
) come estetica. Alcuni esempi, ma prima alcuni dati.
library(ggplot2)
set.seed = 321
# Generate somme data
df <- expand.grid(x = seq(1:5), y = seq(1:5), KEEP.OUT.ATTRS = FALSE)
df$Count = sample(1:25, 25, replace = F)
library(plyr)
new <- dlply(df, .(Count), function(data) matrix(rep(matrix(c(data$x, data$y), ncol = 2), data$Count), byrow = TRUE, ncol = 2))
df2 <- data.frame(do.call(rbind, new))
df2$cost <- 1:325
I dati contengono unità categorizzate in base a due fattori: X1 e X2; e una terza variabile che è il costo di ogni unità.
Diagramma 1: Traccia la proporzione di elementi a ciascuna combinazione X1 - X2. group=1
indica a ggplot di calcolare le proporzioni rispetto al numero totale di unità nel riquadro dati.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(group = 1))

Plot 2: Parcelle il numero di di elementi ad ogni X1 - X2 combinazione.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(size = ..n..))

trama 3: Piazzole il costo degli elementi in ogni X1 - X2 combinazione, che è weight
dalla terza variabile.
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost, size = ..n..))

Plot 4: Piazzole la proporzione del costo totale di tutti gli elementi del frame di dati per ogni X1 - combinazione X2
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost))

Trama 5: Proporziona le proporzioni, ma invece che la proporzione è al di fuori del costo totale tra tutti gli elementi nel frame di dati, la proporzione è fuori dal costo per ements all'interno di ogni categoria di X1. Cioè, all'interno di ogni categoria X1, dove si verifica il costo maggiore per le unità X2?
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = X1, weight = cost))

La risposta alla mia domanda è la trama n. 3? – mb14
Scusa, avrei dovuto dirlo. Sì. –