Fehler beim Erstellen eines Balkendiagramms

Sep 26 2020
structure(list(Young = c(FALSE, TRUE), pop = c(221294L, 574721L), p = c(0.278002298951653, 0.721997701048347)), class = "data.frame", row.names = c(NA, -2L))

Ich möchte mit meinem Datenrahmen ein gestapeltes Balkendiagramm erstellen. Wenn ich jedoch ggplot verwende, wird der Fehler weiterhin angezeigt.

Fehler: stat_count () kann nur eine x- oder y-Ästhetik haben.

ggplot(data = young, aes(x = Young, y = p)) + geom_bar(position = "fill") + labs(x = "Age Bracket", y = "Proportion")

Könnte mir jemand erklären, warum R das Balkendiagramm nicht erstellt und welche Korrekturen ich am obigen Code vornehmen kann, um ein gestapeltes Balkendiagramm mit Proportionen in der Spalte "p" zu erstellen?

Vielen Dank

Antworten

1 ThomasIsCoding Sep 26 2020 at 20:30

Ich denke, das könnte das sein, wonach du suchst

ggplot(data = cbind(id = 1,young), aes(x = id, y = p, fill = Young)) +
  geom_bar(position = "fill", stat = "identity") +
  labs(x = "Age Bracket", y = "Proportion")

YBS Sep 26 2020 at 20:23

Sie brauchen stat="identity"in geom_bar.

ggplot(data = young, aes(x = Young, y = p)) + geom_bar(position = "fill", stat = "identity") + labs(x = "Age Bracket", y = "Proportion")

Um einen einzelnen gestapelten Balken zu erhalten, definieren Sie eine neue Variable wie unten gezeigt.

young$state <- c("TrueorFalse","TrueorFalse")

p <- ggplot(data = young, aes(x = state, y = p, fill=Young)) + #
  geom_bar(position="stack", stat="identity") + 
  labs(x = "Age Bracket", y = "Proportion")
p