Es kann mit stat_sum
innerhalb ggplot2 erfolgen. Standardmäßig stellt die Punktgröße Proportionen dar. Verwenden Sie size = ..n..
als ästhetisch, um Punktgröße zu erhalten, um Zahlen zu vertreten. Zählungen (und Proportionen) durch eine dritte Variable können durch Gewichtung mit der dritten Variablen (weight = cost
) als ästhetisch erhalten werden. Einige Beispiele, aber zuerst einige Daten.
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
Die Daten enthalten Einheiten, die nach zwei Faktoren kategorisiert sind: X1 und X2; und eine dritte Variable, die die Kosten jeder Einheit ist.
Plot 1: Zeichnet die Proportion der Elemente bei jeder X1 - X2 Kombination. group=1
teilt ggplot mit, die Proportionen aus der Gesamtzahl der Einheiten im Datenrahmen zu berechnen.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(group = 1))
Plot 2: Plots der Anzahl von Elementen an jedem X1 - X2 Kombination.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(size = ..n..))
Plot 3: Plots die Kosten der Elemente an jeder X1 - X2-Kombination, ist, dass weight
durch die dritte Variable.
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost, size = ..n..))
Plot 4: Plots der Anteil der Gesamtkosten aller Elemente in dem Datenrahmen an jeder X1 - X2 Kombination
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost))
Plot 5: Stellt Proportionen dar, aber anstatt dass der Anteil über alle Elemente im Datenrahmen von den Gesamtkosten abweicht, ist der Anteil der Kosten für el innerhalb jeder Kategorie von X1. Das heißt, innerhalb jeder X1-Kategorie, wo fallen die Hauptkosten für X2-Einheiten an?
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = X1, weight = cost))
Ist die Antwort zu meinem Frageplot # 3 dann? – mb14
Entschuldigung, ich hätte es so sagen sollen. Ja. –