zwei graphen zeichnen mit demselben datenset

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

ich soll zwei graphen zeichnen für das dataframe mtcars, das nebeneinander liegt, jedoch soll der Graph 1 und 2 nach Automatik und manuell Betrieb aufgeteilt sein, d.h Im Graph 1 sind nur alle Autos die automatik Betrieb haben und graph 2 halt manuell

mein ansatz :
par(mfrow = c(1,2))
plot(df.cars$mpg,df.cars$hp)
plot(df.cars$mpg,df.cars$hp)

leider weiß ich nicht wie ich das jetzt filtern soll ???
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von bigben »

beispielsweise

Code: Alles auswählen

ausw <- which(mtcars$am == 0)
automatic <- mtcars[ausw,]
manual <- mtcars[-ausw,]
oder vielleicht lieber

Code: Alles auswählen

automatic <- mtcars[mtcars$am == 0,]
manual <- mtcars[mtcars$am == 1,]
wahlweise auch

Code: Alles auswählen

automatic <- subset(mtcars, am == 0)
manual <- subset(mtcars, am == 1)
oder, etwas abstrakter, dafür ohne Wiederholungen:

Code: Alles auswählen

by(mtcars, mtcars$am, function(x) plot(x$mpg, x$hp))
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

wie würde das denn in meinem fal aussehen wenn ich das zeichnen würde
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von bigben »

Ich verstehe die Frage nicht.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

die letzte methode klappt aber was macht die genau
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von bigben »

Die Funktion by ruft die Funktion plot auf, sodass die einmal mpg gegen hp plottet für die Autos mit Automatik und einmal für die mit Handschaltung.

Das manual beschreibt ganz treffend:
Function by is an object-oriented wrapper for tapply applied to data frames.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

okay ich habe es nun solle ich die datenpunkte bemalen nach gewicht,

plot(automatic$mpg,automatic$hp)
plot(manuell$mpg,manuell$hp)
heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

weißt du vllt wie ich das mit ggplot mache also dasss ih mehrere graphen nebeneinander habe mit ggplot ?
heyoka
Beiträge: 20
Registriert: Sa Apr 24, 2021 3:10 am

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von heyoka »

ich habe alle aufgaben geschafft selbstständig, irgendwie macht das spaß haha aber eins fehlt mir
also

Lassen Sie die Farben von gelb nach rot verlaufen; der Verlauf soll logarithmisch
skaliert sein, d.h. jede Verdopplung des Gewichts soll der gleichen Schrittgröße im
Farbverlauf entsprechen.

ansatz
p11 <- ggplot(automatic,aes(x=mpg,y=hp)) + geom_point(aes(fill=wt))
p22 <- ggplot(manuell,aes(x=mpg,y=hp)) + geom_point(aes(fill=wt))
grid.arrange(p11, p22, ncol=2)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: zwei graphen zeichnen mit demselben datenset

Beitrag von EDi »

Lassen Sie die Farben von gelb nach rot verlaufen; der Verlauf soll logarithmisch

Code: Alles auswählen

scale_fill_gradient(trans="log")
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten