Seite 1 von 1

Barplot mit zwei Verkotren - y=Summe

Verfasst: Sa Mai 16, 2020 4:50 pm
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

Re: Barplot mit zwei Verkotren - y=Summe

Verfasst: Sa Mai 16, 2020 5:25 pm
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

Re: Barplot mit zwei Verkotren - y=Summe

Verfasst: Sa Mai 16, 2020 6:11 pm
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

Re: Barplot mit zwei Verkotren - y=Summe

Verfasst: Sa Mai 16, 2020 6:58 pm
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