Barplot mit zwei Verkotren - y=Summe

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
xalrianepo
Beiträge: 2
Registriert: Sa Mai 16, 2020 4:29 pm

Barplot mit zwei Verkotren - y=Summe

Beitrag von xalrianepo »

Hallo

Als R-Neuling stosse ich auf folgende Herausforderung:
Ich möchte einen Barplot mit zwei Verkotren (nw, rw) erstellen und dabei jeweils als y die Summe anzeigen lassen. Dies kann als zwei Balken nebeneinander sein oder als "Füllung". Soweit komme ich:

Code: Alles auswählen

nw <- c(10, 15, 22, 8, 30)
rw <- c(8, 4, 15, 6, 27)
df <- data.frame(nw, rw)

plot <- ggplot(data = df, aes(x="Neuwert", y=nw)) + 
  geom_bar(stat="identity")

plot
Wie kann ich nun einen weiteren Balken definieren?

Danke für die Hilfe!
lg
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Barplot mit zwei Verkotren - y=Summe

Beitrag von bigben »

Hallo!

Du solltest nie irgendetwas df oder plot nennen, denn beides sind in R bereits für Funktionen vergebene Namen. Im Allgemeinen funktioniert es trotzdem, wenn nicht, können die Fehlermeldungen echt unverständlich werden. Am besten vergibst Du Namen, unter denen Du Dir auch was vorstellen kannst.

ggplot2 mag Daten nicht in Vektoren "nebeneinander" sondern "untereinander". In Deinem Fall könnte das so aussehen:

Code: Alles auswählen

library(ggplot2)
nw <- c(10, 15, 22, 8, 30)
rw <- c(8, 4, 15, 6, 27)

werte <- data.frame(werte = c(nw, rw),
                    gruppe = gl(2,5, labels=c("Neuwert", "Restwert")))


balkendiagramm <- ggplot(data = werte, aes(x=gruppe, y=werte)) + 
  geom_bar(stat="identity") + 
  theme_light()

balkendiagramm
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
xalrianepo
Beiträge: 2
Registriert: Sa Mai 16, 2020 4:29 pm

Re: Barplot mit zwei Verkotren - y=Summe

Beitrag von xalrianepo »

Hallo Bernhard

Danke für deinen Support und die prompte Lösung! Einfach und gut um die Ecke gedacht ;)
Da ich eine Werte-Tabelle mit weiteren Variabeln habe, suche ich irgendwie noch nach einer anderen Lösung:

Code: Alles auswählen

library(ggplot2)
ID <- c(1, 2, 3, 4, 5)
material <- c("Stahl", "Guss", "PE", "PE", "Guss")
nw <- c(10, 15, 22, 8, 30)
rw <- c(8, 4, 15, 6, 27)
tabelle <- data.frame(ID, material, nw, rw)

#ab hier wie weiter??

werte <- data.frame(werte = c(tabelle$nw, tabelle$rw),
                      gruppe = gl(5,4, labels=c("Neuwert", "Restwert")))

balkendiagramm <- ggplot(data = werte, aes(x=gruppe, y=werte)) + 
  geom_bar(stat="identity") + 
  theme_light()

balkendiagramm


Jede Zeile beinhaltet wie eine fixe Zuordnung, mit welcher ich dann gerne weiterrechnen würde. So müsste ich nun aus "tabelle" wie eine neue Matrix "werte" erstellen. Ist diese Überlegung falsch oder gibt es eine alternative Lösung?

Im Voraus vielen Dank.
lg
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Barplot mit zwei Verkotren - y=Summe

Beitrag von bigben »

Ich bin grad gesundheitlich angeschlagen, vielleicht verstehe ich das deshalb nicht. Such mal nach pivot_longer und nach pivot_wider. Das sind Funktionen zum Umwandeln zwischen beiden Formaten.

LG,Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten