Balkendiagramm Datum Quartal

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Natsu
Beiträge: 9
Registriert: Mi Jul 01, 2020 12:12 pm

Balkendiagramm Datum Quartal

Beitrag von Natsu »

Hi,

ich versuche ein Balkendiagramm zu erstellen, das mir pro Quartal eine Anzeige bringt (für 2 Jahre).
Allerdings ist zwischen den beiden Jahren ein extrem großer Abstand (siehe Anhang).

Code: Alles auswählen



p4 <- daten %>%
         group_by(Datumswert = quarter(daten$Beitragsdatum, with_year = TRUE)) %>%
         summarise(Anzahl = n()) %>%
         #print(Datumswert)
         plot_ly(x = ~Datumswert,
                 y = ~Anzahl,
                 marker =list(color = 'rgb(158,202,225)',
                              line = list(color='rgb(8,48,107)',
                                          width = 1.5)),
                 color = "blue",
                 type = 'bar') %>%
layout(xaxis = list(title = "Zeit"),
yaxis = list(title = 'Anzahl'))
p4



wenn ich mir die Variable "Datumswert" ausgeben lassen (auskommentiere Print-Anweisung) bekomme ich folgende Ausgabe:

Datumswert Anzahl
<dbl> <int>
2018.1 1249
2018.2 1176
2018.3 1307
2018.4 1275
2019.1 1402
2019.2 1221
2019.3 1547
2019.4 1452
2020.1 635
9 rows


Daher verstehe ich nicht warum er dann im Diagramm 2,018.5 schreibt. Für Tipps wäre ich Dankbar.
Dateianhänge
Datum_Quartal.png
ruedi_br
Beiträge: 159
Registriert: Do Mär 01, 2018 3:53 pm

Re: Balkendiagramm Datum Quartal

Beitrag von ruedi_br »

Ich habe zwar noch nicht mi plotly gearbeitet, aber eine kurze Recherche findet dieses:
https://plotly.com/r/tick-formatting/
HTH
Ruedi
fortune(111)
Natsu
Beiträge: 9
Registriert: Mi Jul 01, 2020 12:12 pm

Re: Balkendiagramm Datum Quartal

Beitrag von Natsu »

Leider sehe ich derzeit nicht wie ich das Tick-Formating von Plotty für meinen Fall nutzen könnte.

Dort geht es jeweils bei einem Liniendiagramm und die Darstellung der X-Achse.
In meinem Fall möchte ich aber die Daten erst zusammenrechnen. Mit einem Liniendiagramm würde ich ja nur die Anzahl der aktuellen Tage (nur halt komprimiert auf die Abstände der X-Achse) anzeigen lassen.

Wenn ich die Daten Tageweise ausgebe, habe ich mit dem Balkendiagramm kein Problem, aber wenn ich dies dann für das Quartal haben möchte hapert es. Oder gibt es einen eleganteren Weg das für ein Quartal zu machen?

So sieht es mit den Tagen aus, das geht Problemlos.

Code: Alles auswählen


p2 <- daten %>%
         group_by(Beitragsdatum) %>%
         summarise(Anzahl = n()) %>%
         plot_ly(x = ~Beitragsdatum,
                 y = ~Anzahl,
                 marker =list(color = 'rgb(158,202,225)',
                              line = list(color='rgb(8,48,107)',
                                          width = 1.5)),
                 color = "blue",
                 type = 'bar') %>%
layout(xaxis = list(title = "Zeit"),
yaxis = list(title = 'Anzahl'))
p2




Dateianhänge
Datum_Tage.png
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Balkendiagramm Datum Quartal

Beitrag von EDi »

Wie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...
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.
Natsu
Beiträge: 9
Registriert: Mi Jul 01, 2020 12:12 pm

Re: Balkendiagramm Datum Quartal

Beitrag von Natsu »

EDi hat geschrieben: Do Jul 09, 2020 8:03 pm Wie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...
Ich verstehe leider nicht was du meinst, könntest du es für mich bitte etwas mehr ausführen? Danke!
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Balkendiagramm Datum Quartal

Beitrag von EDi »

Z.b. in einen factor umwandeln.

Code: Alles auswählen

factor(Datumswert)
Mehr kann ich leider nicht ausführen, da ich gerade zu faul bin mir ein reproduzierbares Beispiel hierfür zu erstellen.
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.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Balkendiagramm Datum Quartal

Beitrag von bigben »

EDi hat geschrieben: Do Jul 09, 2020 8:03 pmWie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...
Das wäre natürlich der schnellste Weg, aber dann gibt es zwischen den Jahren gar keinen Abstand mehr. Ich habe das reproduzierbare Beispiel dazu aus den Werten von oben gemacht:

Code: Alles auswählen

library(ggplot2)
anzahl=read.table(text="2018.1 1249
2018.2 1176
2018.3 1307
2018.4 1275
2019.1 1402
2019.2 1221
2019.3 1547
2019.4 1452
2020.1 635")

ggplot(anzahl, aes(x=factor(V1), y=V2)) + geom_col()
Im Wesentlichen geht es darum, dass "2019.2" von R verstanden wird als "zweitausenneunzehn KOMMA zwei" und deshalb gibt es diese großen Lücken, weil 2019,5 und 2019,6 und 2019,7 und 2019,8 und 2019,9 und 2020,0 nicht vorkommen. Man muss es entweder wie EDi machen oder eine andere Zuordnung zwischen den komischen Quartalscodierungen zu einer kontinuierlichen Achse finden.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Natsu
Beiträge: 9
Registriert: Mi Jul 01, 2020 12:12 pm

Re: Balkendiagramm Datum Quartal

Beitrag von Natsu »

Vielen Dank euch beiden.

Ich habe das Problem nun verstanden und es gelöst.
mir war nicht bewusst, das ich mit der Quarter Funktion meine Werte von DATE auf DOUBLE ändere. Wenn man aber dann die Erklärung bekommt macht es sogar ein wenig Sinn. Ich muss wohl besser auf die Datentypen hier achten.

Danke, damit hat sich mein Problem gelöst.
Antworten