Bezeichnung und Anzahl der Beschriftung an der x Achse
Bezeichnung und Anzahl der Beschriftung an der x Achse
Hallo,
ich schreibe aktuell an meiner Hausarbeit für mein Studium und muss einen datensatz mit Rstudio auswerten.
Ich komme aber an dieser Stelle einfach nicht weiter.
Ich möchte ein Histogramm für die Variable = Alter erstellen.Da das Merkmal kardinal-stetig ist, habe ich 7 Klassen gebildet (Das Alter geht von 17 bis 87). Ich möchte nun auf der x-Achse meine Klassengrenzen 17,27,37,47,57,67,77,87 im Histogramm als Beschriftung angezeigt bekommen.
Wenn ich z.B. den Befehl xlim=c(17,87) eingebe, wird die x-Achse nur in 10ner Schritten von 20 bis 80 beschriftet. Auch wenn ich 10 bis 100 eingebe, wechselt er in die 20er Schritte(also 20, 40, 60,...) Gibt es eine Möglichkeit, dass ich selber angeben kann, wie die Schritte sein sollen, die auf der x-Achse ausgegeben werden?
Vielen lieben Dank für eure Hilfe!
LG Katti
ich schreibe aktuell an meiner Hausarbeit für mein Studium und muss einen datensatz mit Rstudio auswerten.
Ich komme aber an dieser Stelle einfach nicht weiter.
Ich möchte ein Histogramm für die Variable = Alter erstellen.Da das Merkmal kardinal-stetig ist, habe ich 7 Klassen gebildet (Das Alter geht von 17 bis 87). Ich möchte nun auf der x-Achse meine Klassengrenzen 17,27,37,47,57,67,77,87 im Histogramm als Beschriftung angezeigt bekommen.
Wenn ich z.B. den Befehl xlim=c(17,87) eingebe, wird die x-Achse nur in 10ner Schritten von 20 bis 80 beschriftet. Auch wenn ich 10 bis 100 eingebe, wechselt er in die 20er Schritte(also 20, 40, 60,...) Gibt es eine Möglichkeit, dass ich selber angeben kann, wie die Schritte sein sollen, die auf der x-Achse ausgegeben werden?
Vielen lieben Dank für eure Hilfe!
LG Katti
Zuletzt geändert von Katti am Fr Feb 21, 2020 4:01 pm, insgesamt 1-mal geändert.
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Hallo Katti,
willkommen im Forum!
Die Funktion cut() kann die Klassenzuordnung generieren. Kannst Du unst etwas von Deinen Daten zeigen, z.B. den output von
Gruß, Jörg
willkommen im Forum!
Die Funktion cut() kann die Klassenzuordnung generieren. Kannst Du unst etwas von Deinen Daten zeigen, z.B. den output von
Code: Alles auswählen
str(DeinDataframe)
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Hallo Jörg,
vielen Dank für deine schnelle Antwort. Ich habe mein Problem oben noch einmal versucht genauer zu beschreiben.
Hier ist der Befehl den ich verwende:
Anbei auch das Histogramm als pdf. Ich hätte gern auf der X-Achse die Klassengrenzen abgebildet.
Zuvor habe ich die Klassen mit dem Befehl cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE) gebildet
Besten Dank für deine Hilfe!
vielen Dank für deine schnelle Antwort. Ich habe mein Problem oben noch einmal versucht genauer zu beschreiben.
Hier ist der Befehl den ich verwende:
Code: Alles auswählen
pdf("Histogramm.pdf")
hist(age,
breaks=c(17,27,37,47,57,67,77,87),
freq = FALSE,
right = TRUE,
xlab=expression(x),
ylab=expression(hat(f(x))),
ylim=c(0,0.02),
xlim=c(17,87),
cex.lab=0.9,
cex.axis=0.8,
main=""
)
dev.off()
Zuvor habe ich die Klassen mit dem Befehl cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE) gebildet
Besten Dank für deine Hilfe!
Zuletzt geändert von jogo am Fr Feb 21, 2020 4:14 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Hallo Katti,
wahrscheinlich kann man das mit
lösen. Leider bin ich nicht der Grafikkünstler hier im Forum.
Deine Frage wäre besser im Bereich Grafik aufgehoben. Ich werde die Frage in den Bereich verschieben.
Gruß, Jörg
wahrscheinlich kann man das mit
Code: Alles auswählen
hist(..., axis=FALSE)
axis(...)
Deine Frage wäre besser im Bereich Grafik aufgehoben. Ich werde die Frage in den Bereich verschieben.
Gruß, Jörg
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Ich denke, so ist es gemeint:
LG,
Bernhard
Code: Alles auswählen
age <- sample(17:87, 100, replace=TRUE)
breaks <- c(17,27,37,47,57,67,77,87)
hist(age, breaks=breaks, xaxt="n", col="grey", main="")
axis(1, at=breaks)
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
...aber wenn ich ehrlich bin, gefällt mir die ggplot2-Variante fast besser:
LG,
Bernhard
Code: Alles auswählen
DF <- data.frame(sample(17:87, 100, replace=TRUE))
breaks <- c(17,27,37,47,57,67,77,87)
library(ggplot2)
fig1 <- ggplot(DF) +
geom_histogram(aes(x=age), breaks = breaks, col="black", fill="grey") +
scale_x_continuous(breaks=breaks) +
xlab("Alter")
print(fig1)
Bernhard
- Dateianhänge
-
- Rplot01.png (4.75 KiB) 503 mal betrachtet
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Hallo Bernhard,
vielen lieben Dank!
Die x-Achse sieht jetzt genauso aus wie ich sie haben will, aber die y-Achse leider nicht mehr und die Balken stimmen irgendwie auch nicht.
Die y-Achse sollte bis 0.020 gehen.
Ich habe zuvor die absolute und die relative Häufigkeit bestimmt mit folgenden Befehlen und Ergebnissen:
Auf der y-Achse sollte die Dichte stehen. Also als Bsp. für die erste Klasse (17,27] müsste der Balken dort bis 0,00955 gehen (da 0,0955:10= 0,00955, weil 0,0955 die relative Häufigkeit (cumsum-Befehl) von dieser Klasse ist und 27-17 = 10)
Kannst du mir da vielleicht nochmal weiterhelfen?
Besten Dank!
vielen lieben Dank!
Die x-Achse sieht jetzt genauso aus wie ich sie haben will, aber die y-Achse leider nicht mehr und die Balken stimmen irgendwie auch nicht.
Die y-Achse sollte bis 0.020 gehen.
Ich habe zuvor die absolute und die relative Häufigkeit bestimmt mit folgenden Befehlen und Ergebnissen:
Code: Alles auswählen
table(cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE))
(17,27] (27,37] (37,47] (47,57] (57,67] (67,77] (77,87]
191 249 297 321 289 346 296
> table(cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE))/length(cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE))
(17,27] (27,37] (37,47] (47,57] (57,67] (67,77] (77,87]
0.0955 0.1245 0.1485 0.1605 0.1445 0.1730 0.1480
> cumsum(table(cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE))/length(cut(age,c(17,27,37,47,57,67,77,87),include.lowest=FALSE)))
Kannst du mir da vielleicht nochmal weiterhelfen?
Besten Dank!
Zuletzt geändert von jogo am Fr Feb 21, 2020 7:44 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Achso vielleicht sollte ich noch erwähnen, dass ich diesen Code von dir genutzt habe:
Und falls es relevant ist, n=2000 (also Anzahl der Zeilen/betrachteten Personen)
Lieben DANK!
Code: Alles auswählen
age <- sample(17:87, 100, replace=TRUE)
breaks <- c(17,27,37,47,57,67,77,87)
hist(age, breaks=breaks, xaxt="n", col="grey", main="")
axis(1, at=breaks)
Lieben DANK!
Zuletzt geändert von jogo am Fr Feb 21, 2020 7:44 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Mit ein paar unbedeutenden Modifikationen an bigbens Code :
Code: Alles auswählen
DF <- data.frame(age=sample(17:87, 100, replace=TRUE))
breaks <- c(17,27,37,47,57,67,77,87)
library(ggplot2)
fig1 <- ggplot(DF) +
theme_bw() +
geom_histogram(aes(x=age, y=..density..), breaks = breaks, col="black", fill="darkslategray1", alpha=0.3) +
scale_x_continuous(breaks=breaks) +
xlab("Alter")
print(fig1)
Re: Bezeichnung und Anzahl der Beschriftung an der x Achse
Besten Dank!
Aber nochmal eine doofe Frage:
Wo trage ich denn in dem Code meinen Datensatz ein? (Denn meine Balken stimmen leider immer noch nicht)
Muss ich ggplot durch den Namen meines Datensatzes ersetzen?
Und wäre es zudem möglich, dass die Skala auf der y-Achse bis einschließlich 0.020 geht?
Ganz ganz lieben Dank euch!!!!
Aber nochmal eine doofe Frage:
Wo trage ich denn in dem Code meinen Datensatz ein? (Denn meine Balken stimmen leider immer noch nicht)
Muss ich ggplot durch den Namen meines Datensatzes ersetzen?
Und wäre es zudem möglich, dass die Skala auf der y-Achse bis einschließlich 0.020 geht?
Ganz ganz lieben Dank euch!!!!