Seite 1 von 1

Mehrere plots aus data.table

Verfasst: Mi Feb 21, 2018 12:20 pm
von Regression
Hallo,

ich möchte wie bereits im Titel beschrieben in einer data.table mehrere barplots generieren. Hierzu ein Minibeispiel:

Code: Alles auswählen

Row1<-c("A","A","A","B","B","C","C","C")
Value<-c(1,2,3,4,5,6,7,8)
dt<-data.table(Row1,Value)
Nun soll für jede "Kategorie" aus Row1 ein ggplot mit den entsprechenden Werten generiert werden.
Auf das Beispiel bezogen, sollten also insg. 3 Plots erstellt werden. In dem ersten sind 3 Balken mit den entsprechenden Werten, im zweiten plot 2Balken und im dritten wieder 3Balken.

Meine Idee war es eine neue Spalte einzufügen, die die "Kathegorien" abzählt: wie etwa:

Code: Alles auswählen

dt$new<-c(1,2,3,1,2,1,2,3) 
hier scheitert es schon...
hab folgendes versucht:

Code: Alles auswählen

dt[,.(for(i in 1:length(Row1)){new<-c(new,i)}),by=.(Row1)]
natürlich vergebens...
habt ihr eine Idee wie man es geschickt anstellt?

Besten Dank im voraus!

Re: Mehrere plots aus data.table

Verfasst: Mi Feb 21, 2018 12:31 pm
von jogo
Für den Anfang habe ich dies anzubieten:

Code: Alles auswählen

library("data.table")
dt <- data.table(Row1=c("A","A","A","B","B","C","C","C"), Value=c(1,2,3,4,5,6,7,8))
par(mfcol=c(1,3))
dt[, barplot(Value), Row1]
Gruß, Jörg

Re: Mehrere plots aus data.table

Verfasst: Mi Feb 21, 2018 1:06 pm
von Regression
wow :shock:
Deine Lösungen sind immer so elegant! besten Dank!
---------
edit:
in meiner gegebenen Tabele sind 50 "Kategorien".

diese passen natürlich nicht auf eine figure.
nun würde ich gern 6 plots erstellen mit (3x3) Kategorien, sprich auf jedem Plotfenster sollen 9 Kategorien abgebildet sein.

Vielen Dank im Voraus.
-----
edit2:
Hab was ähnliches raus:
mit dem Befehl

Code: Alles auswählen

par(mfcol=(n2mfrow(2)))
werden automatisch benötigte figurs erstellt, mit jeweils 2 Abbildungen untereinander :D

Re: Mehrere plots aus data.table

Verfasst: Mi Feb 21, 2018 1:33 pm
von jogo
Probier doch mal bei der Ausgabe der Grafiken ein Format mit Seiten zu nehmen, z.B. PDF.
Vielleicht reicht dann par(mfcol=c(3,3)) bzw. par(mfrow=c(3,3)).

Gruß, Jörg

Re: Mehrere plots aus data.table

Verfasst: Mi Feb 21, 2018 1:36 pm
von Regression
Oh funktioniert auch einwandfrei... DANKE :!: :!: :!: :!:
-----
Nächstes Problem:
par(mfcol=c(2,2))
>

Code: Alles auswählen

dt[, barplot(Value, xlab = Row1), Row1]
Beschrieftet alle 4 Abbilungen (Kategorien) gleich auf jeder figure, obwohl es sich um unterschiedliche Kategorien handelt :roll: